我如何在python的子过程调用期间阻止stdout显示密码? [重复]

问题描述 投票:0回答:1
我想阻止运行subprocess.call()时可见的输出。这是我要停止的唯一输出,因为我需要在此之后运行的命令才能显示。

该呼叫显示了我设置为系统变量的密码,该密码已隐藏为要执行的文件中的%% mypassword %%(但是,它显示在命令行界面中。)>]

from subprocess import call with open('//path/pwhold.txt','w') as pwhold: call(r"\\filetorun\%s.bat" % DB,stdout=pwhold) os.unlink('//path/pwhold.txt')

这种工作方式,但是只有在文件执行完成后才会删除文件。 

还有其他方法吗?

我想阻止运行subprocess.call()时可见的输出。那是我要停止的唯一输出,因为我需要显示之后运行的命令。电话显示我的...

python subprocess
1个回答
1
投票
每塞巴斯蒂安的评论。 subprocess.call()使用的接口需要实际的文件句柄,才能在OS级别捕获输出。执行命令时,尝试使用字符串或字符串缓冲区失败。
© www.soinside.com 2019 - 2024. All rights reserved.