Что такое Python-эквивалент бэктиков Perl? [Дубликат]

1

Возможный дубликат:
Эквивалент Backticks в Python

Когда я хочу писать непосредственно в командной строке в Perl, я могу сделать что-то вроде этого:

Файл Perl test.pl:

$directory = `dir`;  
print $directory;

Что бы вывести что-то вроде..

C:\Documents and Настройки \joslim\Desktop > perl test.pl

Объем на диске C не имеет метки. Объемный серийный номер EC37-EB31

Каталог C:\Documents and Настройки \joslim\Desktop
(и список всех файлов..)

Могу ли я сделать это в Python? Я искал вокруг, но не повезло.

Кроме того, можете ли вы сказать мне, что это называется? Я уверен, что есть более технический термин, чем "запись непосредственно в командную строку"...

  • 0
    Такие вещи, как dir или move самом деле не должны быть сделаны таким образом. В стандартной библиотеке доступны кроссплатформенные модули!
  • 2
    Это было чисто демонстративно
Показать ещё 2 комментария
Теги:
terminal
cmd

2 ответа

5
Лучший ответ

То, о чем вы говорите в Perl, является оператором backtick, который также ведет себя одинаково в PHP.

То, что вы ищете, - это выполнить операцию с командной строкой.

В эквиваленте в Python оператора backtick и о том, как запустить программу командной строки и получить результат, ответил: Эквивалент Backticks в Python

3

Эквивалент commands.getoutput. Итак, для вашего примера:

import commands
directory = commands.getoutput("dir")
print directory
  • 1
    Ах, спасибо. Я вижу, что это устарело, и теперь я буду использовать модуль подпроцесса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню