handle = open('full path/file name.txt')
file = handle.read()
print file
for line in handle:
print line
- 打印文件打印正确
- 打印线不返回任何东西。没有错误报告。我在这里做错了什么?
handle = open('full path/file name.txt')
file = handle.read()
print file
for line in handle:
print line
您需要从读取的数据写入,句柄是一个文件对象。
for line in file:
print(line)
这会给每个*字符*,而不是每一行。 o请注意,triple-backtick代码隔离用于GitHub-flavor markdown,它不支持。 – jonrsharpe
file = handle.readlines()...我没有完全阅读人员代码。好的产品 –
一旦你读取文件(handle.read()
)文件到达终点,所以,试图再次重复它的时候,它没有任何关系提供了。
如果要再次使用使用它的内容,你可以将它们存储在第一读取和使用存储的内容每一次,或重置使用文件的开头寻求:
handle.seek(0)
的首先要注意的是,你现在的for循环不会让你找到你想要的行为。您需要有file = handle.readlines()
而不是.read()
。否则,它会将每个字符打印在新行中,而不是每行。 (请注意,handle.readlines()
返回一个列表,所以打印(文件)行现在将打印该列表。
还请注意,使用.read()
文件看完之后,你就需要运行handle.seek(0)
能够从打印重新备案,否则您将不会收到输出,作为“读者”是在文件的结尾。
*“你应该从文件中读取。”* - 否,因为(尽管名称)它不是文件,它是*内容*作为字符串。你*可以*遍历文件句柄。 – jonrsharpe
这是真的。编辑,谢谢! – Windmill
下面的代码应为2.7
handle = open('full path/file name.txt') file = handle.read()
handle.seek(0) print file
for line in handle:
print line
工作,你以后'.read'你的文件” re已经在最后,所以'handle'中没有更多'line's。 – jonrsharpe