我想使用python将一些输入发送到基于cmd的程序。该程序通常从键盘输入类型。
我尝试过:
P1=subprocess.Popen("my_program",stdin=subprocess.PIPE,stdout=subprocess.PIPE,sterr=subprocess.PIPE)
p1out,p1err=P1.communicate(input="my_input")
但是给出了错误,因为“它要求像对象而不是str这样的字节”。我还尝试了P1.stdin.write()
方法,并再次给出了相同的错误。我的输入dtype应该是什么?
答案 0 :(得分:2)
似乎您所要做的就是将字符串更改为“字节”类型。
type("my_input")
>>>> str
type(b'my_input')
>>>> bytes
答案 1 :(得分:0)
我使用
解决了my_input=my_input.encode("utf-8")