我正在使用subprocess.run来运行命令并将输出打印到文件中。
我能够为'python --version'打印正确的输出,因为答案是'Python 3.6.5',但是当我为'java -version'运行相同的命令时,文本文件中没有输出,但是它反映在控制台中。
也许是因为'java -version'的输出分为三行!
import subprocess
import os
import sys
sys.stdout = open('outputCS.txt','wt')
result = subprocess.run('python --version', stdout=subprocess.PIPE)
print(result.stdout.decode('utf-8'))
答案 0 :(得分:0)
import subprocess
f = open("stuff", "wt")
subprocess.run(['python', '--version'], stdout=f, stderr=f)
subprocess.run(['java', '-version'], stdout=f, stderr=f)