Похоже, вы хотите сохранить результат вызова subprocess.Popen()
.
Для получения дополнительной информации см. Подпроцесс — Popen.communicate(input=None)
.
>>> import subprocess
>>> test = subprocess.Popen('ls', stdout=subprocess.PIPE)
>>> out, err = test.communicate()
>>> print out
fizzbuzz.py
foo.py
[..]
Однако в оболочке Windows (cmd.exe) нет команды ls
, но есть две другие альтернативы:
Используйте os.listdir()
. Этот метод следует предпочесть, так как с ним намного проще работать:
>>> import os
>>> os.listdir("C:\Python27")
['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe
', 'pythonw.exe', 'README.txt', 'tcl', 'Tools', 'w9xpopen.exe']
Использовать Powershell — устанавливается по умолчанию в более новых версиях Windows (>= Windows 7):
>>> import subprocess
>>> test = subprocess.Popen(['powershell', '/C', 'ls'], stdout=subprocess.PIPE)
>>> out, err = test.communicate()
>>> print out
Directory: C:\Python27
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 14.05.2013 16:00 DLLs
d---- 14.05.2013 16:01 Doc
[..]
Команды оболочки с использованием cmd.exe будут выглядеть примерно так:
test = subprocess.Popen(['cmd', '/C', 'ipconfig'], stdout=subprocess.PIPE)
Для получения дополнительной информации см.:
полезный и аккуратный модуль подпроцесса - Запуск команд в эмуляторе терминала - Windows
Примечания:
person
timss
schedule
14.05.2013
os.listdir()
< /а>. - person Aya   schedule 14.05.2013dir
- person Amelia   schedule 14.05.2013