为什么Python 运行只有第一种读取文件的方法?
Why Python run only first method of reading file?
我正在尝试读取文件方法和 Python 只有 运行 我首先编写的方法。我是初学者。这是什么原因?
第一个例子:
fhandle = open('TestTXT.txt')
for line in fhandle:
print(line)
print (fhandle.read())
第二个例子:
fhandle = open('TestTXT.txt')
print (fhandle.read())
for line in fhandle:
print(line)
在您的第一个示例中,正在打印文件的每一行,但是 print()
函数有一个额外的换行符:
fhandle = open('TestTXT.txt')
for line in fhandle:
print(line) # extra line feed for each line
print(fhandle.read()) # Does nothing!
在第二个示例中,您将一次性打印文件的内容,加上来自 print()
函数的额外换行符:
fhandle = open('TestTXT.txt')
print(fhandle.read()) # everything printed here
for line in fhandle: # does nothing
print(line)
文件对象存储当前的偏移量,它会随着您的阅读而向前移动。一旦读到最后,您需要重新打开文件,或者使用 seek
:
将偏移量移动到开头
print(fhandle.read())
fhandle.seek(0)
for line in fhandle:
print(line)
我正在尝试读取文件方法和 Python 只有 运行 我首先编写的方法。我是初学者。这是什么原因?
第一个例子:
fhandle = open('TestTXT.txt')
for line in fhandle:
print(line)
print (fhandle.read())
第二个例子:
fhandle = open('TestTXT.txt')
print (fhandle.read())
for line in fhandle:
print(line)
在您的第一个示例中,正在打印文件的每一行,但是 print()
函数有一个额外的换行符:
fhandle = open('TestTXT.txt')
for line in fhandle:
print(line) # extra line feed for each line
print(fhandle.read()) # Does nothing!
在第二个示例中,您将一次性打印文件的内容,加上来自 print()
函数的额外换行符:
fhandle = open('TestTXT.txt')
print(fhandle.read()) # everything printed here
for line in fhandle: # does nothing
print(line)
文件对象存储当前的偏移量,它会随着您的阅读而向前移动。一旦读到最后,您需要重新打开文件,或者使用 seek
:
print(fhandle.read())
fhandle.seek(0)
for line in fhandle:
print(line)