我正在尝试通过python传递一个java文件,并将shell输出写入log .txt文件。这是有效的,只是我的手动中断被添加到文件的末尾。关于.write
subprocess.call
之后发生import subprocess
outfile = open('c:\\log2.txt', 'a')
outfile.write("\n\n")
outfile.write("-------------------------BEGIN NEW LOG--------------------------------------")
outfile.write("\n\n")
subprocess.call(['java.exe',
'-cp',
'c:\\dev\\dataloader\\dataloader-36.0.0-uber.jar',
'-Dsalesforce.config.dir=c:\\dev\\dataloader\\',
'com.salesforce.dataloader.process.ProcessRunner',
'process.name=csvCRExtract'],
stdout=outfile)
outfile.close()
的原因的任何建议?我是Python的新手。感谢
代码段
tf.nn.rnn_cell.LSTMStateTuple
答案 0 :(得分:0)
在output.flush()
之前致电subprocess.call()
。
output
正在使用缓冲的i / o,这意味着它在实际将数据写入操作系统之前等待直到写入最少量的数据,以避免大量慢速系统写入调用。 flush
告诉缓冲区立即将所有内容发送到操作系统。您的计划正在执行以下操作:
close
文件时将本地缓冲区刷新到文件中。这个答案有一张图片并对其进行了解释: