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
ギャヴーペヒ
どちらの場合も結果は同じになると思います。check_output()
出力を取得しcall()
て一致させるために何をする必要があるか知っている人はいますか?