Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
操作系统错误22-python可以';t读取和写入标准数据_Python_Shell_Cmd_Operating System_Subprocess - Fatal编程技术网

操作系统错误22-python可以';t读取和写入标准数据

操作系统错误22-python可以';t读取和写入标准数据,python,shell,cmd,operating-system,subprocess,Python,Shell,Cmd,Operating System,Subprocess,大家好,我正在试着运行两个非常简单的脚本,我知道这两个脚本在其他人运行并得到正确的结果时是有效的。但是,我一直遇到一个“OS:Error[22]-无效参数” 这两个脚本旨在相互通信。这是: Test1.py import subprocess p = subprocess.Popen(['python', 'Test2.py'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) p.stdin.write("Hello\n")

大家好,我正在试着运行两个非常简单的脚本,我知道这两个脚本在其他人运行并得到正确的结果时是有效的。但是,我一直遇到一个“OS:Error[22]-无效参数”

这两个脚本旨在相互通信。这是:

Test1.py

import subprocess

p = subprocess.Popen(['python', 'Test2.py'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
p.stdin.write("Hello\n")
p.stdin.flush()
print('got', p.stdout.readline().strip())
p.stdin.write("How are you?\n")
p.stdin.flush()
print('got', p.stdout.readline().strip())
import sys

data = sys.stdin.readline()
sys.stdout.write("Hm.\n")
sys.stdout.flush()
data = sys.stdin.readline()
sys.stdout.write("Whatever.\n")
sys.stdout.flush()
Test2.py

import subprocess

p = subprocess.Popen(['python', 'Test2.py'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
p.stdin.write("Hello\n")
p.stdin.flush()
print('got', p.stdout.readline().strip())
p.stdin.write("How are you?\n")
p.stdin.flush()
print('got', p.stdout.readline().strip())
import sys

data = sys.stdin.readline()
sys.stdout.write("Hm.\n")
sys.stdout.flush()
data = sys.stdin.readline()
sys.stdout.write("Whatever.\n")
sys.stdout.flush()
我打开windows cmd,导航到包含这两个脚本的目录并键入“python Test1.py”,这是我得到的错误消息:

 File "Test2.py", line 5, in <module>
    sys.stdout.flush()
OSError: [Errno 22] Invalid argument
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp1252'>
OSError: [Errno 22] Invalid argument
文件“Test2.py”,第5行,在
sys.stdout.flush()
OSError:[Errno 22]参数无效
在中忽略异常:
OSError:[Errno 22]参数无效
希望您能帮我解决这个问题。谢谢大家!