写入控制台或文件python

Write to the console or to file python

我有一个功能:

1
2
def hello_world(output):
    output.write("Hello World")

并将这些信息传递给它:

1
2
3
file = io.open("myfile.txt","w")
hello_world(file)
hello_world(sys.stdout)

我不知道这条路对不对。我还得到了EDOCX1[0]你会怎么做我想做的?


NameError: global name 'sys' is not defined

由python文件顶部的import sys修复

顺便说一句,使用名为Filelistdict的变量或几乎任何默认类型都是一个可怕的想法。


尝试添加:

1
import sys

到文件的顶部


您需要导入sys模块:

1
import sys

然后可以使用sys.stdout


你忘了给EDOCX1[0]

sys是python-python文档的"系统特定参数和函数"模块。

它所做的是为输出到的python文件获取特定于系统的标准输出管道。就像在流中一样,它可以写入:)。

文件和sys.stdoutsys.stdinsys.stderr都是要写入的流。

一般来说,如果它说的是NameError,你要么忘了导入某些内容,要么你没有正确定义某些内容。)

您可能想将其改写为open_文件或类似文件,File和其他一些类似的词,例如如果您这样做,random = 3将永远不适合处理,因为它们被用作各种python对象或内部构件的名称,并且您希望确保不会发生冲突,即使python应该能够巧妙地解决这些冲突:)


您应该在脚本开头添加此行:

1
import sys