У меня есть файл SVG с 56 объектами, которые я хочу экспортировать в виде отдельных файлов PNG. Я могу сделать это с помощью модуля подпроцесса, но он включает в себя выполнение Inkscape 56 раз, и я ищу лучший способ. Inkscape имеет интерфейс командной строки с режимом оболочки, и я был в состоянии экспортировать предметы, используя оболочку, но когда я пытаюсь сделать это с помощью модуля подпроцесса, независимо от команды я выдаю слишком долго:Как взаимодействовать с интерактивным подпроцессом
import subprocess as sp
proc =sp.Popen('inkscape -z --shell'.split(), stdin=sp.PIPE, stdout=sp.PIPE, stderr=sp.PIPE, universal_newlines=True)
x=proc.communicate('--help')
print(x)
("Inkscape 0.91 r13725 interactive shell mode. Type 'quit' to quit.\n>ERROR: Command line too long\n", '')
Что я делаю не так?
Вы предоставляете команду достаточно долго, чтобы inkscape вырвала ошибку. Вы можете просмотреть документы или просто проб и ошибок и выяснить, сколько времени потребуется. –