import os.path
os.path.exists('~/fileToExperiment.txt')
myfile = open('~/fileToExperiment.txt','r')
myfile.readlines()
for line in myfile:
print line
所以我试图运行这个非常简单的python代码,但它不输出任何内容,也没有任何错误。 filestoExperiment文本不为空。
这里有什么不对?有人可以指出
答案 0 :(得分:7)
通过这样做,myfile.readlines()
您已经阅读了整个文件。然后,我们尝试迭代您的文件对象,您已经在文件的末尾。
更好的做法是:
with open('~/fileToExperiment.txt','r') as myfile:
for line in myfile:
print line
myfile.readlines()
会将文件的全部内容存储在内存中。如果您不需要同时使用整个内容,最好逐行阅读。
如果您确实需要整个内容,可以使用
with open('~/fileToExperiment.txt','r') as myfile:
content = myfile.read() ## or content = myfile.readlines()
另请注意使用with
语句,在处理文件时建议使用该语句(之后无需关闭文件)。
答案 1 :(得分:5)
您没有将这些行存储在变量中。所以试试这个:
lines = myfile.readlines()
for line in lines:
print line
答案 2 :(得分:0)
您可以使用 readlines()或循环文件对象来打印或读取文件中的行。
代码:
print myfile.readlines()
输出:
['Hello World\n', 'Welcome to Python\n', 'End of line\n']
代码:
myfile = open('newfile.txt', 'r')
for line in myfile:
print line
输出:
Hello World
Welcome to Python
End of line