我正在使用 subprocesscall()
方法执行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()
匹配?