使用' file = file_name'写入文件在python中的print语句中

时间:2017-07-22 15:55:03

标签: python

在第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()

1 个答案:

答案 0 :(得分:1)

根据打印功能的帮助指示

  

file:类文件对象(stream);默认为当前   sys.stdout的。

因此输入不应该是文件名,而是文件类对象。如果要写入(比方说)文本文件,则需要先打开它进行写入并使用文件句柄。

f = open("output.txt",'w')
print(list_name, file=f)