私はsolaris環境でpythonコマンドを実行しています。 execute_child "[Errno 2]にそのようなファイルやディレクトリがありません"というエラーが表示されるので、私はsubprocess.callを実行できません。私はpopen2/3/4を使って別の方法を試みましたが、 "DeprecationWarning:popen2モジュールは非推奨です。サブプロセスモジュールを使用してください。"いくつかの制限のためにos.systemを使いたいとは思わない。この仕事をする他の方法はありますか? 助けていただければ幸いです。solarisでPythonシステムコマンドを実行
0
A
答えて
2
subprocess.popen()
を試しましたか?
は、バージョン2.6で撤廃
os.popen2(CMD [、モード[BUFSIZE]]):実際に廃止され
output, error = subprocess.popen(your_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE);
それreplaces
popen2()
、:それは同じくらい簡単です。この関数は廃止されました。サブプロセスモジュール を使用します。特に古い機能を サブプロセスモジュールセクションに置き換えるかどうかを確認してください。
No such file or directory
エラーについては、絶対パスを使用してください。
0
以下は、Solaris 10システムでSolaris Volume Manager(SVM)ボリュームを管理するPythonプログラムのコードです。これは先に記述したのと同じアプローチを使用しますが、p.communicate()に追加します。この場合、エラーメッセージと通常の出力を区別する必要がないため、stderr出力は標準出力にリダイレクトされます。
# Constants
DATADIR="/etc/lvm"
METASTAT_CMD="/usr/sbin/metastat"
MD_CF = DATADIR + "/md.cf"
def check_svm_volume_exists():
# Check to see if any SVM volume(s) exist or not. If none exist, exit.
syscmd = " ".join([METASTAT_CMD, "-p", ">", MD_CF])
p = subprocess.Popen(syscmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
out_data, err_data = p.communicate()
if out_data == "":
return out_data
else:
print("No Solaris Volume Manager volume(s) appear to be configured. Exiting.")
sys.exit(1)
関連する問題
- 1. Pythonの実行システムコマンドとし、終了...
- 2. Javaアプリケーションでシステムコマンドを実行
- 3. 実行システムコマンド、ストアド・プロシージャ
- 4. Pythonでシステムコマンドの後に次の行を実行する方法
- 5. システムコマンドを実行するHTML
- 6. システムコマンド経由でRからpythonを実行
- 7. Perl:シェル環境でシステムコマンドを実行
- 8. Linuxでpythonを使ってシステムコマンドを実行していますか?
- 9. Cocoaで引数を受け入れてシステムコマンドを実行する
- 10. システムコマンドをsystem()で実行し、出力を送信する
- 11. 私のRailsコントローラ内でシステムコマンド(pdflatex)を実行する
- 12. herokuサーバでシステムコマンドを実行するには?
- 13. awkの最後の実行[Solaris]
- 14. Solaris KornShellの.kshスクリプトの実行
- 15. C:システムコマンドを実行して出力を取得しますか?
- 16. Javaを使用してシステムコマンド(linux/bsd)を実行する方法
- 17. アラート終了後にシステムコマンドを実行します
- 18. MySQLにログインしたときにシステムコマンドを実行
- 19. perlのgolangのようなシステムコマンドを実行中
- 20. Meterを使用したTCP/IP通信、システムコマンドとローカルファイルアクセスの実行
- 21. Solaris上でFileBeatを実行しています
- 22. システムコマンド
- 23. 信頼できる1.5アプレットはシステムコマンドを実行できますか?
- 24. PostgreSQL関数で引数を指定してシステムコマンドを実行しています
- 25. PHPを使用してシステムコマンドを長いタイムアウト時間で実行しますか?
- 26. PHPとXamppを使用してブラウザでシステムコマンドを実行する方法は?
- 27. cronで実行したときにPythonの1つのシステムコマンドが動作しない
- 28. mysqlシステムコマンド
- 29. C++ - システムコマンド
- 30. open Openoffice calcでPythonを使用してシステムコマンドを使用する
これは機能しました。ありがとう –