如何从Python写入Windows命令窗口
我正在使用Python 2.6。我想从Python中向命令窗口输入指令。我只需要找到正确的方法。不过为了说明问题,我展示了几个失败的尝试。以下是我几个尝试的结果和遇到的错误类型:
第一次尝试:
import subprocess
proc = subprocess.Popen('cmd.exe', stdin = subprocess.PIPE, stdout = subprocess.PIPE)
stdout, stderr = subprocess.communicate('cd Documents')
AttributeError: 'module' object has no attribute 'communicate'
第二次尝试:
import subprocess
proc = subprocess.Popen('cmd.exe', stdin = subprocess.PIPE, stdout = subprocess.PIPE)
proc.stdin.write("cd Documents")
没有错误信息,但什么也没发生。如果我尝试打开一个不存在的文件夹,结果也是一样。命令窗口保持空白。
第三次尝试:
os.system('cd Documents')
什么也没发生,返回了1,不过如果我尝试打开一个不存在的文件夹,结果也返回1:
os.system('cd Documentss')
最后一次尝试:
a=os.popen("C:\\system32\\cmd.exe",'w')
a.write("cd Documents")
IOError: [Errno 22] Invalid argument
谢谢你的帮助。
2 个回答
1
你的第三次尝试:
os.system('your command')
成功了。我用了这个,没问题:
os.system('ipconfig -renew') # Renew all connections windows
试试:
os.system('ipconfig -release') # you will disconnect from your network
然后使用:
os.system('ipconfig -renew') # network will back
3
你第一次尝试是对的,不过有一点需要注意,你调用的是模块,而不是你新创建的类。你需要使用
proc.communicate('cd Documents')