gpt4 book ai didi

python-2.7 - TypeError : object of type 'file' has no len()

转载 作者:行者123 更新时间:2023-12-03 08:26:58 24 4
gpt4 key购买 nike

您好,我是编程的初学者。我正在阅读Zed Shaw的书《艰苦学习Python》,遇到一个错误,发现很奇怪。我想知道为什么它总是给我错误:TypeError:在Windows Powershell中运行代码后,"file"类型的对象没有len()。我运行的代码:

from sys import argv
from os.path import exists

script, from_file, to_file = argv

print "Copying from %s to %s" % (from_file, to_file)

in_file = open(from_file, "r")

print "The input file is %d bytes long" % len(in_file)

它说错误在最后一行。我不明白为什么会发生此错误,因为如果正确,我会以读取模式打开文件并将其保存在变量in_file中。那么,为什么它不能读取in_file的len?他在Zed Shaw的书中写道
in_file = open(from_file)
indata = in_file.read()

在我写的地方
in_file = open(from_file, "r")

带有注释: # we could do these two on one line, how?所以我认为他要我写我编写的代码。

如果有人可以帮助我,将不胜感激。提前致谢

最佳答案

他要你像这样in_file = open(from_file).read()in_file是对您打开的文件的引用。
如果要存储文件的内容而不是文件的引用,则可以执行上述操作。

file = open("/path/to/file.txt").read()

file之后将为您提供文件的内容,您可以使用 file变量来获取内容的长度,如下所示 len(file)之后,您将在文件内容中获得符号数

我希望这对你有意义。

注意

这是一种不好的做法,您需要保留文件引用,并执行引用操作。

关于python-2.7 - TypeError : object of type 'file' has no len(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38622975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com