Python无法读取文件 TypeError: 'file'类型的对象没有len()方法。
Python无法读取文件,报错TypeError: object of type 'file' has no len()。这个问题的出现是因为代码中打开文件的方式不正确。
在上述代码中,使用了open函数打开了一个文件,并将其赋值给了in_file。然后使用in_file.read()将文件内容读取出来,并赋值给了变量f。最后使用len(f)获取读取内容的长度,并进行打印输出。
然而,open函数默认是以写入模式打开文件的,而不是读取模式。所以在这个代码中,应该将文件以读取模式打开。修改代码如下:
in_file = open(from_file, 'r') f = in_file.read() print "The input file is %d bytes long" % len(f)
在修改后的代码中,open函数的第二个参数增加了一个'r',表示以读取模式打开文件。这样就可以成功读取文件内容,并获取到内容的长度,不再报错。
Python中的文件对象没有len()方法,所以当我们尝试对文件对象使用len()时会出现TypeError: object of type 'file' has no len()的错误。
要解决这个问题,我们需要将文件对象转换为文件内容。在打开文件时,需要以读取模式('r')打开文件,并使用read()方法读取文件内容。然后,我们可以使用len()函数计算文件内容的大小。
以下是解决该问题的代码示例:
in_file = open(from_file, 'r') f = in_file.read() print "The input file is %d bytes long" % len(f)
如果我们想要获取文件的大小,可以参考这个链接:link