outfile = open(inputfile,'w') outfile.write(argument) outfile.flush() os.fsync(outfile) outfile.close
这是代码片段。 我正在尝试在python中写入文件。 但是当我们打开这个文件的时候,什么也没有写进去。 我做错了什么?
比较大的XML文件
在win xp Vista和Windows 7上保存程序数据的位置
在使用Perl的Windows中进行文件input和读取时遇到问题
python中的IOError 22在Windows上无效
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()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。