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
循环都使用列表而不是文件迭代器。
我有一个“.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
循环都使用列表而不是文件迭代器。