0
这个子过程代码在Python 2中完美工作,但在Python 3中完美工作。我该怎么办?子过程在Python 2中工作,但不在Python 3中
感谢,
import subprocess
gnuchess = subprocess.Popen('gnuchess', stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
# Python 3 strings are Unicode and must be encoded before writing to a pipe (and decoded after reading)
gnuchess.stdin.write('e4\n'.encode())
while True:
L = gnuchess.stdout.readline().decode()
L = L[0:-1]
print(L)
if L.startswith('My move is'):
movimiento = L.split()[-1]
break
print(movimiento)
gnuchess.stdin.write('exit\n'.encode())
gnuchess.terminate()
当它不起作用时会发生什么?你有例外吗?如果是这样,请包含回溯。如果你有其他行为,请描述它。 – Blckknght