【问题标题】:Python - Preventing closing a file after printing its content [duplicate]Python - 打印内容后防止关闭文件[重复]
【发布时间】:2018-08-12 08:45:22
【问题描述】:

我想用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 保持文件打开直到我完成计算?

【问题讨论】:

  • 不,文件没有关闭。如果不倒退到开头,您就不能多次读取文件。
  • 添加pdbFile.seek(0) 或读入一次变量,然后打印变量并循环.splitlines(True) 结果。

标签: python input file-read


【解决方案1】:

在您read() 文件之后,您到达了文件的末尾,尽管您的文件仍然打开,但没有剩余的行可以迭代。

所以,要么:

  • 不要在for 循环之前read 它,或者;
  • seek(0)读完文件后回到文件开头,或者;
  • 将其关闭并再次打开。

【讨论】:

    猜你喜欢
    • 2011-07-06
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多