ホームページ > バックエンド開発 > Python チュートリアル > Python スクリプト内から Bash コマンドを正常に実行するにはどうすればよいですか?

Python スクリプト内から Bash コマンドを正常に実行するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-27 12:38:10
オリジナル
570 人が閲覧しました

How Can I Successfully Run Bash Commands from Within a Python Script?

Python での Bash コマンドの実行

問題

Python スクリプトは、os.system() を使用した Bash コマンドの実行に失敗します。エラー メッセージは、Python モジュールが見つからないことを示しています。

回答

この問題を解決し、Python での Bash コマンドの実行についての理解を深めるには、次の点を考慮してください:

  1. サブプロセス モジュールを優先します: subprocess.run() または次のような関連メソッドを使用しますsubprocess.check_call() を使用すると、エラー処理と制御が向上します。 os.system() の使用を避けてください。
  2. text=True を使用します: 標準出力とエラーを Unicode 文字列にデコードするには、text=True を設定します。
  3. shell=True と True を理解するshell=False:

    • shell=True は、実行のために文字列をシェルに渡します。
    • shell=False は、シェルをバイパスして、オペレーティング システムに引数のリストを提供します。 .

    一般に、文字列のリストをshell=Trueで渡すか、単一の文字列をshell=Trueで渡すことにより、これらのオプションを混在させないでください。 shell=False.

  4. sh と Bash の違いを考慮する:

    • 実行可能ファイルを指定しない限り、サブプロセスはデフォルトで /bin/sh を使用します='/bin/bash'、Bash のみに必要syntax.
  5. 親環境の変更を避ける:

    • 子プロセスは、変数の設定を含め、親の環境を変更できません。または作業ディレクトリを変更します。 os.environ[] を使用するか、env= を使用して環境変数を子プロセスに渡します。
  6. Python からの Python の実行を回避します:

    • スクリプトをスクリプトとして実行する代わりに、他の Python モジュールをインポートし、その関数を直接呼び出すことを検討してください。サブプロセス。

以上がPython スクリプト内から Bash コマンドを正常に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート