我是python中的初学者
我试过以下代码。当我运行代码时,它不会给出错误,但是预期的输出必须在文件中,而是在控制台上打印输出。
在实际的test.txt
文件中,它将条目设为0
。
为什么它打印0而不是pwd
命令返回的路径?
from subprocess import call
path = call('pwd')
with open('test.txt', "w") as f :
f.seek(0)
f.write(str(path))
f.close()
答案 0 :(得分:0)
如果您想从外部命令获取输出,请使用@Paul Rooney所述的subprocess.check_output。您可以按如下方式更改程序,将pwd的输出打印到file:
from subprocess import check_output
path_bytes = check_output('pwd', shell=True)
path_str = path_bytes.decode('utf-8')
with open('test.txt', 'w') as f:
f.write(path_str)