无法使用python将数据写入文件

outfile = open(inputfile, 'w') outfile.write(argument) outfile.flush() os.fsync(outfile) outfile.close 

这是代码片段。 我正在尝试在python中写入文件。 但是当我们打开这个文件的时候,什么也没有写进去。 我做错了什么?

您不调用outfile.close方法。

不需要在这里刷新,只需要正确地关闭:

 outfile = open(inputfile, 'w') outfile.write(argument) outfile.close() 

或者更好的是,使用文件对象作为上下文管理器:

 with open(inputfile, 'w') as outfile: outfile.write(argument) 

这一切都假设argument不是一个空字符串,并且您正在查看正确的文件。 如果您在输入文件中使用相对路径,则使用的绝对路径取决于您当前的工作目录,您可能正在查看错误的文件以查看是否写入了某个文件。

尝试

 outfile.close() 

注意括号。

 outfile.close 

只会返回函数对象,并没有做任何事情。

直到您刷新或关闭文件时,您才会看到写入的数据。 而在你的情况下,你没有正确地冲洗/关闭文件。

 * flush the file and not stdout - So you should invoke it as outfile.flush() * close is a function. So you should invoke it as outfile.close() 

所以正确的片段将是

  outfile = open(inputfile, 'w') outfile.write(argument) outfile.flush() outfile.close()