Windows上的python 2.3最好的方法是执行具有多个参数和路径中空格的ghostscript之类的程序吗?
发布于 2021-01-29 16:19:27
当然有某种抽象允许这种情况吗?
这本质上是命令
cmd = self._ghostscriptPath + 'gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=tiffg4
-r196X204 -sPAPERSIZE=a4 -sOutputFile="' + tifDest + " " + pdfSource + '"'
os.popen(cmd)
这种方式对我来说真的很脏,必须有一些pythonic方式
关注者
0
被浏览
40
1 个回答
-
使用子进程,它superseeds
os.popen,尽管它是没有太大的一个抽象的更多:from subprocess import Popen, PIPE output = Popen(["mycmd", "myarg"], stdout=PIPE).communicate()[0] #this is how I'd mangle the arguments together output = Popen([ self._ghostscriptPath, 'gswin32c', '-q', '-dNOPAUSE', '-dBATCH', '-sDEVICE=tiffg4', '-r196X204', '-sPAPERSIZE=a4', '-sOutputFile="%s %s"' % (tifDest, pdfSource), ], stdout=PIPE).communicate()[0]
如果只有python 2.3而没有子进程模块,则仍然可以使用os.popen
os.popen(' '.join([ self._ghostscriptPath, 'gswin32c', '-q', '-dNOPAUSE', '-dBATCH', '-sDEVICE=tiffg4', '-r196X204', '-sPAPERSIZE=a4', '-sOutputFile="%s %s"' % (tifDest, pdfSource), ]))