0

我正在尝试运行:

 try:
    with open(subprocess.PIPE, 'w') as pipe:
          call(["/usr/sbin/atms","-k"], stdout=pipe, stderr=pipe)                                        
          call(["/usr/sbin/atms","/usr/sbin/atms.conf"],stdout=pipe,stder=pipe)
 except Exception, e:
          print e

我现在得到

 coercing to Unicode: need string or buffer, int found

这是什么意思?

谢谢

4

1 回答 1

0

open()用于文件,并且需要文件名而不是管道。

而不是.call(),您可以使用Popen

>>> p = subprocess.Popen(['python', '-c', 'print "test"'], stdout=subprocess.PIPE)
>>> p.stdout.read()
'test\r\n'
于 2013-01-07T04:04:23.093 回答