Python - 防止在打印文件内容后关闭文件

Python - Preventing closing a file after printing its content

我想用 python 读取一个文件,先打印它的内容,然后再对它的数据进行操作。

这是我的代码:

with open("myFile.txt", 'rw') as inputFile:
    print(inputFile.read())
    for i,j in enumerate(pdbFile):
        do whatever
        count the lines 
print("Number of lines", numberOflines)

这种情况下的输出是numberOfLines = 0

但是,如果我注释命令 print(pdbFile.read()),它会给出正确的行数。所以显然文件在读取文件后被关闭。

如何强制 python 在我完成计算之前保持文件打开?

read() 文件之后,您到达了它的末尾,虽然您的文件仍然打开,但没有任何行可以迭代。

所以,要么:

  • 不要在 for 循环之前 read 它,或者;
  • 使用seek(0)或;
  • 读取文件后返回到文件开头
  • 关闭再打开。