文件open(),readLines()

2024-10-01 11:29:11 发布

您现在位置:Python中文网/ 问答频道 /正文

 import os.path
 os.path.exists('~/fileToExperiment.txt')
 myfile = open('~/fileToExperiment.txt','r')
 myfile.readlines()

 for line in myfile:
     print line

python没有任何错误,但是我没有运行它的代码。 filestoExperiment文本不为空。在

这里怎么了?有人能指出吗


Tags: path代码inimporttxtforos错误
3条回答

您可以使用readlines()循环文件对象打印或读取文件中的行。在

  1. readlines()-以“字符串列表的形式返回完整文件,每个字符串由\n” 例如

代码:

    print myfile.readlines()

输出:

^{pr2}$
  1. 循环文件对象-你可以在文件对象上循环以读取文件中的行。这是一种内存效率高、速度快的代码。例如

代码:

    myfile = open('newfile.txt', 'r')

    for line in myfile:
      print line

输出:

    Hello World
    Welcome to Python
    End of line

通过这样做,myfile.readlines()您已经读取了整个文件。然后,我们尝试遍历你的file对象,你已经在文件的末尾了。在

更好的做法是:

with open('~/fileToExperiment.txt','r') as myfile:
    for line in myfile:
        print line

myfile.readlines()将在内存中存储文件的全部内容。如果您不需要一次完整的内容,最好逐行阅读。在

如果您确实需要整个内容,可以使用

^{pr2}$

还要注意使用with语句,这是在处理文件时推荐的(之后不需要关闭文件)。在

你没有把这些行存储在变量中。所以试试这个:

 lines = myfile.readlines()

 for line in lines:
     print line

相关问题 更多 >