什么是最好的方式在Python 2.3窗口执行程序,如ghostscript与path中的多个参数和空格?

当然有某种抽象可以做到这一点?

这实质上是命令

cmd = self._ghostscriptPath +'gswin32c -q -dNOPAUSE -dBATCH -sDEVICE = tiffg4 -r196X204 -sPAPERSIZE = a4 -sOutputFile =“'+ tifDest +”“+ pdfSource +'”'

os.popen(CMD)

这种方式看起来对我来说真的很肮脏,必须有一些pythonic的方式

使用子进程,它取代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), ]))