在第4章的book headfirstpython中,他们使用了语法
print(list_name, file= output_file_name)
对于他们来说,它工作正常,但对我来说,它在file = output_file_name
上给出语法错误。 python版本相同,即3。
代码: import os
man = [] 其他= []
尝试: data = open(' sketch.txt')
for each_line in data:
try:
(role, line_spoken) = each_line.split(':', 1)
line_spoken = line_spoken.strip()
if role == 'Man':
man.append(line_spoken)
elif role == 'Other Man':
other.append(line_spoken)
except ValueError:
pass
data.close()
除了IOError: 打印('数据文件丢失!')
尝试: man_file = open(' man_data.txt',' w') other_file = open(' other_data.txt',' w')
print(man, file=man_file)
print(other, file=other_file)
除了IOError: 打印('文件错误。')
最后: man_file.close() other_file.close()
答案 0 :(得分:1)
根据打印功能的帮助指示
file:类文件对象(stream);默认为当前 sys.stdout的。
因此输入不应该是文件名,而是文件类对象。如果要写入(比方说)文本文件,则需要先打开它进行写入并使用文件句柄。
f = open("output.txt",'w')
print(list_name, file=f)