Py2exe无法使用linecache

时间:2016-01-28 16:21:23

标签: python py2exe readline linecache

当我将其作为.py文件运行时,我有以下代码段可以正常工作。当我使用py2exe将其转换为.exe时,似乎linecache.getline()函数无法正常工作。我能够很好地创建和编写.txt文件,所以我相信linecache函数是个问题。是否有任何解决方法,不使用linecache从文本文件中读取指定的行或有没有办法让linecache与Py2exe一起使用?

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)

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分: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)
with open('battle_id_getter%s.txt' % (pagenum), 'rU') as fp:
    lines = fp.readlines()
line = lines[125]