尝试将文件对象传递给list
函数无法获取文件对象列表。
x = open('example.txt', 'rb')
y = list(x)
输出为y = ['aaaaa']
,而我希望得到一个文件对象列表:[<open file 'example.txt', mode 'rb' at 0x7fa03ced1300>]
当然只包含一个元素。为什么list
函数在这里改变了它的参数?
答案 0 :(得分:2)
遍历文件对象会遍历文件中的行。
通常用法:
for line in f:
# do something with the line
list
构造函数的参数是可迭代的。参数将被迭代,列表将从迭代项创建。
用法示例:
list('abc') # result: ['a', 'b', 'c']
合并后,list(f)
会创建从文件中读取的行列表。
要实际创建包含一个文件对象的列表,请执行以下操作:
list_of_files = [f]