Ошибка:
OSError: [Errno 7] Список аргументов слишком длинный
История:
Запуск сценария на pvpython (vtk); однако в более старых дистрибутивах pvpython <5.0 модули matplotlib устарели, поэтому использование этого модуля невозможно. Чтобы преодолеть это, используется еще один <code>.py и аргументы, передаваемые в терминале с использованием subprocess
, как показано ниже, и выполняются на python , но поскольку передаваемая информация велика, вышеприведенный ошибка встречается
Проблемный код:
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. Но я пытаюсь сэкономить на записи и времени загрузки.
Таким образом, я ищу способ передачи больших аргументов в терминале или как передать аргументы двум средам, в данном случае pvpython и python.