我有一个包含56个对象的SVG文件,我想将其导出为单独的PNG文件。我可以使用子进程模块执行此操作,但它涉及执行Inkscape 56次,我正在寻找更好的方法。 Inkscape有一个带有shell模式的命令行界面,我已经能够使用shell导出项目,但是当我尝试使用子进程模块执行此操作时,无论我发出什么命令都太长:
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", '')
我做错了什么?
答案 0 :(得分:2)
inkscape错误具有误导性。问题是缺少\n
。
proc.communicate('--help\n')