Как написать в окно командной строки Windows из Python - PullRequest
0 голосов
/ 18 апреля 2011

Я использую 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 ]

2 голосов
/ 18 апреля 2011

Ваша первая пробная версия верна, за исключением того факта, что вы вызываете модуль вместо вашего недавно созданного класса Вам нужно использовать

proc.communicate('cd Documents')

0 голосов
/ 19 июля 2016

Ваше третье испытание:

 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
...