0

エラー:

OSError: [Errno 7] 引数リストが長すぎます

歴史:

pvpython (vtk)でスクリプトを実行する; ただし、pvpython < 5.0 の古いディストリビューションでは、matplotlib モジュールが廃止されているため、そのモジュールを使用できません。これを克服するために、別.pyの引数が使用され、以下に示すように端末で引数が渡され、Pythonsubprocessで実行されますが、渡される情報が大きいため、上記のエラーが発生します。

問題のあるコードは次のとおりです。

import subprocess
command = ("python illustrations.py %s %s %s %s %s %s %s %s %s %s" % (str(post_processing), str(width), str(height), str(len(new_overall_lines)), str(reset_scale), str(str_rose_angle), str(str_damage), str(fname), str(fname1), str("ax=None")))
subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)

argv 6 と 7はリストであるため、それぞれ非常に長い (882770、879326) 文字です。

別の解決策は、リストを一時ファイルに渡し、それらを python モジュールにロードすることです。しかし、書き込みと読み込みの時間を節約しようとしています。

したがって、端末で大きな引数を渡す方法、または引数を 2 つの環境 (この場合は pvpython と python) に渡す方法を探しています。

4

1 に答える 1