Skip to main content
 首页 » 编程设计

python之在 python 中,如何将在终端上显示为 .txt 文件的结果写入

2025年05月04日7fff_TT

我已经学习了一个星期的python。但我不确定如何将结果保存为文件。

def process_rows(self, rows): 
    for row in rows: 
        self.rownum+=1 
        print(rownum) 

我认为会有超过 400000 个结果。 但是 Terminal 只显示了从 441810 到 450000 的 8000 个结果。

我想将结果保存在 .txt 文件中并阅读。 我更改了我的代码如下。

def process_rows(self, rows): 
    f = open("output_file", 'a+') 
    for now in rows: 
        self.rownum +=1 
        f.write(rownum + "\n") 
    f.close() 

但是出现了异常错误。

TypeError: unsupported operand type(s) for +: 'int' and 'str' 
ERROR:tornado.application:Uncaught exception in /conn  
File "/usr/lib/python2.7/dist-packages/tornado/websocket.py", line 415, in _run_callback 
  callback(*args, **kwargs) 
File "server.py", line 98, in process_rows 
  f.write(rownum + "\n") 
NameError: global name 'rownum' is not defined 

请您参考如下方法:

这应该有效:

def process_rows(self, rows): 
    f = open("output_file", 'a+') 
    for now in rows: 
        self.rownum +=1 
        f.write(str(self.rownum) + "\n") 
    f.close() 

一行中有两个错误:1) 省略了“self.”; 2) 添加 int + string,如消息所述。

如果你按照建议阅读 print 和 write 的文档,你会发现 print 使用默认值自动将对象转换为字符串格式化,write 没有。写入文件时,人们通常希望指定确切的格式。