python-读取文本文件

python-reading a text file

我有一个“.txt”文件,我通过两种不同的方式从中解析和打印行,但我没有得到两个输出,而是只得到一个打印行输出。

**pi_digits.txt contains**:--
3.141692653
  897932384
  264338327

代码如下:

with open("pi_digits.txt") as file_object:
    #contents = file_object.read()
    #print(contents)
    for line in file_object:
        print(line.rstrip()) #deletes the whitespace of \n at the end of every string of file_object
    lines = file_object.readlines()

for line in lines:
    print(line.rstrip())`

输出只有:

**
3.141692653
  897932384
  264338327
**

发生了 1 次,但我认为应该发生两次。

不,不会出现两次。到第一个循环结束时:

    for line in file_object:
        print(line.rstrip()) #deletes the whitespace of \n at the end of every string of file_object

您已通读整个文件。 file_object 位于文件末尾。因此,这一行没有任何内容:

    lines = file_object.readlines()

如果您真的想遍历它两次,请先执行 readlines 调用,然后让两个 for 循环都使用列表而不是文件迭代器。