为什么 len(file.read()) 给我的值为零?
Why is len(file.read()) giving me a value of zero?
为什么两个函数的 print len() 值不同?他们不一样吗?
此脚本打开的文件是一个包含三行文本的文本文件。我将它命名为 test.txt,里面是
Jack and Jill
gave up
they went home with no water
代码:
def function2nd (filename):
target = open(theFile, 'r')
inData = target.read()
print inData
print len(inData)
target.close()
theFile = raw_input("What is the file name?\n>>")
function2nd(theFile)
def function3rd (filename):
target = open(theFile, 'r')
target.read()
print target.read()
print len(target.read())
target.close()
function3rd(theFile)
好吧,第二个你读取打开的文件然后调用 len
,但是此时文件对象是空的。
在第一个读取文件中,将内容放入一个变量中,然后取变量的长度。
文件就像盒式磁带中的一盘长磁带;您可以读取该文件,但是当您完成时,您已经将磁带一直传递到最后。再次阅读不会给你数据 again.
因此,您的第二个函数试图从一个已经缠绕到最后的文件中读取数据。
您可以通过重新打开文件或使用 target.seek(0)
将其发送回开头来倒带 'tape'。
为什么两个函数的 print len() 值不同?他们不一样吗?
此脚本打开的文件是一个包含三行文本的文本文件。我将它命名为 test.txt,里面是
Jack and Jill
gave up
they went home with no water
代码:
def function2nd (filename):
target = open(theFile, 'r')
inData = target.read()
print inData
print len(inData)
target.close()
theFile = raw_input("What is the file name?\n>>")
function2nd(theFile)
def function3rd (filename):
target = open(theFile, 'r')
target.read()
print target.read()
print len(target.read())
target.close()
function3rd(theFile)
好吧,第二个你读取打开的文件然后调用 len
,但是此时文件对象是空的。
在第一个读取文件中,将内容放入一个变量中,然后取变量的长度。
文件就像盒式磁带中的一盘长磁带;您可以读取该文件,但是当您完成时,您已经将磁带一直传递到最后。再次阅读不会给你数据 again.
因此,您的第二个函数试图从一个已经缠绕到最后的文件中读取数据。
您可以通过重新打开文件或使用 target.seek(0)
将其发送回开头来倒带 'tape'。