用python读取一个简单的.txt文件,为什么这个简单的代码输出每一行?python如何知道它应该这样做?

BetweenBeltSizes95

编程新手,python新手;)尝试学习文件操作。我不明白下面的代码是如何工作的。open()用for循环调用时会发生什么,为什么这与另一个python函数不同.read(number_of_elements)

我有一个test.txt文件,它的编号刚从1)到10),每个都换行了。因此,一个带有10行的txt文件。为什么python使用此for循环显示整个txt文件?为什么知道在每一行都打印新行?是因为Python将.txt转换为列表,然后循环遍历了吗?

我已尝试执行print(f)此操作,但这将返回有关test.txt文件的一些信息,并且没有像我期望的那样打印文件的内容。

python代码:

with open("test.txt", "r") as f:
    for line in f:
        print(line)

test.txt文件:

1)
2)
3)
4)
...
马丁·梅尔卡

是因为Python将.txt转换为列表,然后在其中循环

实际上,是的。该代码可以重写为:

file = open("test.txt", "r")
for line in file:
    print(line)

file.close()

涉及到一些“魔术”,但基本上,Filein中对象都file知道,如果对其进行迭代(通过for line in file),则每次迭代应该给一行。

每行迭代一个文件通常是您想要做的-因此python提供了一种快速简便的方法来做到这一点。如果要将整个文件放在一个变量中,则还有一个方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章