2010-12-17 9 views
2

単純な操作に従うためにpython自動化スクリプトで使用する方が良い zipファイルを作成してコピーしたり、新しい場所に名前を変更するには Pythonのinbuilt関数やos.systemモジュールを介した端末コマンドを使用する方が良いですか?どちらが良いですか? inbuiltのpython関数またはos.systemコマンドを使用していますか?

+3

「より良い」とはどういう意味ですか?より移植性がありますか?もっと早く?より多くのフェイルセーフ?速くコードするには?これらの基準のほとんどは、答えは次のとおりです。Pythonライブラリを使用し、 'os.system()'を避けてください。 –

答えて

2

私はスクリプトを移植可能にするので、私はpythonものと言うでしょう。しかし、パフォーマンスと可用性が懸念されることもあります。

11

可能であれば、組み込みのPythonモジュール/ stdlib subprocess(os.system)が必要です。

理由:移植性、メンテナンス性、コードの可読性などが挙げられます。

2

一般に、可能であればpythonライブラリを使用するといいでしょう。そうすれば、移植性が向上します。さまざまなシステム上で異なるコマンドやコマンドオプションについて心配する必要はなく、何かを変更する必要がある場合は、Pythonコードを行う方が簡単です。

0

python internalsコマンドを使用すると、特に移植性の面で優れています。あなたはwin32pipeなどなどを発見するよりも、

しかし、いくつかの点で、あなたは2.7(Windowsの場合)よりも古いPythonで「os.kill」の欠如で混乱することができ、あなたはos.Popenが動作しているかの方法で驚かれることができ、

個人的には、私は常に小さな研究(デーモンなどが必要です)を提案し、それから決定します。あなたがWindowsプラットフォームを必要としない場合 - pythonの内部を使用してより効率的になる可能性があります。

関連する問題