import subprocess
sample_file_directory = "..." # directory where file is
SCRIPT_DIR = "..." # directory where script is
p = subprocess.Popen([SCRIPT_DIR,sample_file_directory,'min','edgelen'],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
min_side_len, err = p.communicate()
print len(err)
だから私は、.ply ファイル (3d ファイル形式) を分析し、ファイルに関するデータを提供するこのスクリプトを持っています。ディレクトリ内で破損しているファイルと破損していないファイルを見つけようとしています。そこで、サブプロセス ライブラリを使用してスクリプトを実行し、.ply ファイルの任意の機能 (この場合は最小エッジ長) を見つけようとしています。err に何かが含まれている場合、任意の機能を取得できなかったことを意味し、ファイルが壊れています。ここでは、1 つのファイルに対してのみ実行しています。ただし、エラーが発生し続けます。
p = subprocess.Popen([SCRIPT_DIR,sample_file_directory,'min','edgelen'],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
このエラーが発生する理由を理解できる人はいますか? データ ディレクトリとスクリプト ディレクトリの両方が有効です。あと、肝心なところ抜けててすいません。初投稿です。