私のpythonスクリップは、OCamlのプロジェクトをビルドするために外部コマンドを呼び出しますが、私はあまりにも多くのファイルのこの問題に実行していますがfile_iが生成され、入力されPythonのサブプロセスのpopen [ERRNO 24]開いているファイルが多すぎます
try:
handle = subprocess.Popen(['ocamlc', file_i], \
stdout=subprocess.PIPE, \
stderr=devnull, \
cwd=dir_o, \
close_fds=True
)
except Exception as e:
handle = e
print(e)
を開設しました
devnull = open(os.devnull, 'w')
から
for file in os.listdir(dir_i):
とdevnullされることによって、私はエラーを印刷するとき、それはDISだろう再生
[Errno 24] Too many open files
devnull以外のファイルは開かれていません。だから私はなぜこの例外が出るのか混乱している。
更新
104 # process_count += 1
105 # if process_count == MAX_PROCESS:
107 # for p in processes:
108 # if p != Exception:
109 # p.wait()
110 # process_count = 0
111 # p = []
'p!= Exception'は' not isinstance(p、Exception) 'でなければなりません。 –