2016-01-28 1 views
0

J'ai la section de code suivante qui fonctionne parfaitement lorsque je l'exécute en tant que fichier .py. Lorsque je le convertis en .exe en utilisant py2exe, il semble que la fonction linecache.getline() ne fonctionne pas correctement. Je suis capable de créer et d'écrire le fichier. Txt bien, donc je crois que la fonction Linecache est le problème. Y a-t-il une solution de contournement pour cela qui n'utilise pas linecache pour lire une ligne spécifiée à partir d'un fichier texte ou existe-t-il un moyen de faire fonctionner linecache avec Py2exe?Py2exe impossible d'utiliser linecache

server = "en15" 
pagenum = "0" 
page = urllib.urlopen('http://www.westforts.com/%s/battles/page/%s' % (server, pagenum)) 
page_content = page.read() 
with open('battle_id_getter%s.txt' % (pagenum) , 'w') as textfile: 
    textfile.write(page_content) 
line = linecache.getline('battle_id_getter%s.txt' % (pagenum), 126) 

Merci d'avance pour toute assistance que vous pouvez fournir.

Répondre

0

En modifiant le code à la suivante, cela a fonctionné.

page = urllib.urlopen('http://www.westforts.com/%s/battles/page/%s' % (server, pagenum)) 
page_content = page.read() 
with open('battle_id_getter%s.txt' % (pagenum) , 'w') as textfile: 
    textfile.write(page_content) 
with open('battle_id_getter%s.txt' % (pagenum), 'rU') as fp: 
    lines = fp.readlines() 
line = lines[125]