我有以下批处理文件(test.bat)
my.py < commands.txt
my.py 执行以下操作:
import sys
print sys.stdin.readlines()
如果我从命令行(从 Windows 7 中的 cmd.exe shell)启动此批处理文件,一切正常。
但是,如果我尝试通过subprocess.call
python 中的函数运行它,它就不起作用。
我如何尝试从 python 运行它:
import subprocess
import os
# Doesn't work !
rc = subprocess.call("test.bat", shell=True)
print rc
这是我收到的错误消息:
>my.py 0<commands.txt
Traceback (most recent call last):
File "C:\Users\.....\my.py
", line 3, in <module>
print sys.stdin.readlines()
IOError: [Errno 9] Bad file descriptor
1
我正在使用 python 2.7.2,但在 2.7.5 上我得到了相同的行为。
有任何想法吗?