在python中,我试图编写一个脚本来编辑文本文件,然后运行使用这些文本文件的可执行文件.它基本上需要1)打开和读/写文本文件,2)使用我刚刚在bash命令中写的文件.这是一个简单的例子:
import subprocess # write file a = ['1\n','2\n','3\n','4\n','5th and final line'] f = open('junk01.txt', 'wb') f.writelines(a) f.close # show file subprocess.call('cat junk01.txt', shell=True)
由于某种原因,该subprocess.call
命令没有显示junk01.txt文件的内容.但是,在我运行此代码并键入cat junk01.txt
bash后,文件已正确写入.同样,我发现在打开,写入和关闭文本文件然后尝试在可执行文件中使用它之后,该文件尚未写入.有关为什么会这样做以及我可以做些什么来解决它的任何解释?
通过实际调用close()方法关闭该文件.这将隐式刷新缓冲区到磁盘.
f.close()
而不是
f.close #this probably doesn't do anything, but if there was no close method it would raise an error.