我正在使用子进程call()
方法执行pwgen
实用程序来创建12个字符的密码。当我使用check_output()
时,我得到了相同参数的不同结果。
这是一个有效的代码片段:
import tempfile
import subprocess
import os
f = tempfile.NamedTemporaryFile(delete=False)
f.write('random data\n')
f.close()
subprocess.call(['/usr/bin/pwgen', "-H", f.name, "12", "1"])
print subprocess.check_output(['/usr/bin/pwgen', "-H", f.name, "12", "1"])
os.unlink(f.name)
示例输出为:
rioH7IeSu6th
giyahvoopehi
我希望在两种情况下结果都相同。有谁知道我需要做些什么来使check_output()
和call()
的输出匹配?