gpt4 book ai didi

Python 有时无法读取整个文件

转载 作者:太空宇宙 更新时间:2023-11-03 17:41:49 25 4
gpt4 key购买 nike

我在 unix 服务器上使用了 python 2.7 程序,该程序读取包含两种类型信息的 ASCII 文件并处理该信息。我已将此过程放入一个函数中,该函数本质上是:

def read_info()
f = open(file_name, 'rb')
f_enumerator = enumerate(f, start=1)
for i, line in f_enumerator:
process_info
process_last_info

当从我的主程序中对文件调用此函数时,它会停在接近输入文件末尾的一行中的一个看似任意的点,而当从同一输入文件上的简单包装器调用该函数时它正确读取整个文件。

我在这里尝试了其中一种解决方案:Python Does Not Read Entire Text File ,文件以二进制形式读入,但这并没有解决问题。那里的另一个解决方案(以 block 的形式读取文件)将会有问题,因为我试图在特定于行的基础上解析文件,并且读取文本 block 将需要更多的解析。

我愿意这样做,但问题的间歇性性质表明可能还有其他解决方案?

最佳答案

经过进一步思考,我意识到这是因为我在程序的早期创建了文件并且没有关闭文件句柄,因此这可能是一个缓冲问题。提前关闭文件解决了问题。

有人建议我最初使用“with”语法写入文件:

with open(file_name, 'w') as f:
do foo

这确实可以防止我忘记关闭文件,并防止出现此问题。

关于Python 有时无法读取整个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30442836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com