我需要在循环内部调用一个以文本文件为输入的程序。因为我不想一直打开和关闭文本文件,所以我将它保持在循环中处于打开状态。例如:
with open("test.txt",'r+') as w_file:
w_file.write(str(0.8) + "\n" + str(0.2))
subprocess.call(["cat","test.txt"]) #Here I want to call my routine
但是文件仍然处于旧状态。为什么?最好的处理方法是什么?
write
行之后但在subprocess.call
行之前尝试使用w_file.flush()
。 - zondoprint()
函数:print(0.8, 0.2, sep="\n",file=w_file)
或字符串格式化:w_file.write("{}\n{}".format(0.8, 0.2))
。 - jfs