当然有某种抽象可以做到这一点?
这实质上是命令
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), ]))