私は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. Perl:シェル環境でシステムコマンドを実行
- 3. Linuxでpythonを使ってシステムコマンドを実行していますか?
- 4. Cocoaで引数を受け入れてシステムコマンドを実行する
- 5. 私のRailsコントローラ内でシステムコマンド(pdflatex)を実行する
- 6. Solaris KornShellの.kshスクリプトの実行
- 7. awkの最後の実行[Solaris]
- 8. Javaを使用してシステムコマンド(linux/bsd)を実行する方法
- 9. C:システムコマンドを実行して出力を取得しますか?
- 10. システムコマンド
- 11. 信頼できる1.5アプレットはシステムコマンドを実行できますか?
- 12. PHPとXamppを使用してブラウザでシステムコマンドを実行する方法は?
- 13. PHPを使用してシステムコマンドを長いタイムアウト時間で実行しますか?
- 14. C++ - システムコマンド
- 15. mysqlシステムコマンド
- 16. システムコマンドによって実行されたスクリプトは、実行中のスクリプトのSESSIONデータにアクセスできますか?
- 17. SIGALRMのSolaris 9(SPARC)にchroot環境でPerlを実行している間、私は奇妙なエラーのビットに実行しているSolaris 9の
- 18. CronでPythonスクリプトを実行
- 19. ADBでPythonソケットスクリプトを実行
- 20. Python 2.6でPanda3Dを実行
- 21. cmdでPythonを実行
- 22. WindowsでPythonスクリプトを実行
- 23. solaris 8 vs solaris 10
- 24. pythonソースコードを行単位で実行
- 25. Solaris上でPythonでプロセスを終了する際の問題
- 26. は、C++ Linuxシステムコマンド
- 27. pythonで実行するPythonスクリプト3.5
- 28. Perlでシステムコマンドを非同期で実行するにはどうすればよいですか?
- 29. 実行時リンカーはsolaris上の実行可能ファイル内のRPATHを無視します
- 30. Pythonスクリプトの実行
これは機能しました。ありがとう –