私はいくつかの操作を実行するためにアプリケーションpdftkを数回使っているPythonスクリプトをコーディングしています。例えばPython:os.system()を使用してファイルを開くことができません
、私はこのような2種類のPDFファイルをマージするには、Windowsのコマンドラインシェルでpdftkを使用することができます。
pdftk 1.pdf 2.pdf cat output result.pdf
私はPythonスクリプトの途中で上記の操作を実行したいと思います。ここで私はそれをやってみました:
os.system('pdftk 1.pdf 2.pdf cat output result.pdf')
上記のpdftkコマンドは、Windowsシェルで完全に動作します。しかし、Pythonのos.system()
を使って入力ファイルを実行しようとすると、入力ファイル(1.pdfと2.pdf)を開くことができません。
Error: Failed to open PDF file: 1.pdf
Error: Failed to open PDF file: 2.pdf
なぜそれが起こるん:ここではPythonのos.system()
を使用してコマンドを実行しようとしたとき、私はpdftkから取得エラーメッセージがですか?どうすれば修正できますか?
注:私は、PDFファイルをPythonとマージするためのより良い方法があることを知っています。私の質問は、PDFファイルをマージすることではありません。それは単なるおもちゃの例だった。私が達成しようとしているのは、Pythonを使ってpdftkや他のコマンドラインアプリケーションを実行する能力です。
ほとんどの場合、ディレクトリパスに問題があります。あなたは 'C:\ 'またはどこからでも完全なパスを渡すことができます。あるいは、正しいディレクトリで開始していることを確認することもできます。 – chmullig
引用やシェルの変数補間の問題でもあります。このような問題を回避するには、 'os.system'の代わりに常に' subprocess'モジュールを使用してください。 – Philipp
@chmullig:あなたは本当に私はその愚かなことですか?まあ、私は分かります。問題は確かに経路の問題でした。質問に対する答えであなたが言ったことを繰り返し、私はそれを受け入れます。ありがとう。 – snakile