Python + Windows:subprocess和bufsize

时间:2017-09-22 18:31:22

标签: python python-3.x

我有一个程序,完全可以在Linux上运行但是 - 奇迹 - 不是Windows。 我已经修复了sys的一个错误,并获得了一个新错误:

"TypeError: bufsize must be an integer" 

我很确定这是非常容易的,我忘了尝试任何提示?谢谢!

import subprocess
import sys
process = subprocess.Popen(sys.executable, [player["progname"]], 
          stdin=subprocess.PIPE,  
          stdout=subprocess.PIPE, 
          universal_newlines=True)

2 个答案:

答案 0 :(得分:0)

您可能希望将sys.executableplayer["progname"]都包含在list中。

process = subprocess.Popen([sys.executable, player["progname"]], 
          ...)

否则,您将player["progname"]作为bufsize参数传递给Popen构造函数(https://docs.python.org/3/library/subprocess.html#popen-constructor

答案 1 :(得分:0)

Popen构造函数的第二个参数应该是一个整数,并且您正在传递[player["progname"]]