сравнивать пакетные команды с python? - PullRequest
1 голос
/ 11 декабря 2010

Хорошо, у меня есть эти команды, используемые в пакете, и я хотел знать команды в python, которые могли бы иметь аналогичный эффект, просто чтобы было ясно, я не хочу просто использовать os.system ("команда здесь") для каждого из них.Например, в пакетном режиме, если вам нужен список команд, вы наберете help , но в python вы наберете help () , а затем modules ... Яне пытаясь использовать пакет в скрипте Python, я просто хочу знать сходство в обоих языках.Как по-английски вы говорите «Hello», но по-французски вы говорите «Bonjour», не смешивая два языка.(вот список команд / функций, которые я хотел бы знать:

  1. изменить текущий каталог
  2. очистить экран в консоли
  3. изменить приглашение на что-то другоечем >>>
  4. как сделать функцию цикла
  5. перенаправления / каналы
  6. запустить программу расширения (например, блокнот или рисование) изнутрискрипт
  7. как вызвать или импортировать другой скрипт Python
  8. как получить справку по конкретному модулю без необходимости набирать help ()

@ 8: (в пакетном режиме это будет команда /? )

РЕДАКТИРОВАНИЕ ПОЛНОСТЬЮ

Спасибо в Advvance!

Ответы [ 5 ]

2 голосов
/ 11 декабря 2010

Вы не можете просто механически перевести пакетный скрипт на Python и надеяться, что он работает.Это другой язык, с разными идиомами и способами выполнения вещей, не говоря уже о разных целях.

Ниже я перечислил некоторые функции, связанные с тем, что вы хотите, но ничто не заменит просто изучение и изучение Python!


  1. os.chdir

  2. os.system("cls"), вероятно, самое простое решение

  3. Изменить sys.ps1 и sys.ps2.

  4. Нет, в Python нет gotos.Вместо этого используйте циклы for и while.

  5. Не имеет смысла, используйте вместо этого ввод-вывод Python.

  6. subprocess.Popen

  7. Не имеет смысла, вместо этого используйте import или subprocess.Popen.

  8. help

2 голосов
/ 11 декабря 2010

Большинство упомянутых вами вещей (start, cls и т. Д.) - это не «пакетные команды», а исполняемые программы, выполняющие определенные задачи. «Оболочка» DOS просто выполняет их, когда встречает их в файле. В этом смысле «python» является эквивалентом одного исполняемого файла (например, cls).

Теперь, когда все ясно, cd (и большинство других специфических задач для ОС) выполняются с помощью модуля os . Там нет ни одного заявления Python, чтобы очистить экран - это было бы расточительно. Изменить подсказку интерпретатора Python можно, назначив sys.ps1. Циклы выполняются с использованием while или for. Перенаправление не происходит. Однако вы можете использовать модуль subprocess для запуска подкоманд и отправки их результатов в файлы или другие потоки. Запуск команд осуществляется с помощью функции subprocess.Popen. Для получения справки вы можете либо набрать help("command"), либо, если вы используете ipython , просто скажите command? и нажмите Enter.

Вы действительно должны пройти учебник , а не пытаться сопоставить пакет commands с Python.

1 голос
/ 11 декабря 2010

Python не является системной оболочкой, Python является языком программирования с несколькими парадигмами.

Если вы хотите сравнить .bat с чем-либо, сравните его с sh или bash.(Вы также можете использовать их на разных платформах - например, sh для Windows входит в пакет MinGW).

1 голос
/ 11 декабря 2010

Документы на Python отличные, и с них можно начинать. Для выполнения подобных сценариям командного сценария вы должны проверить:

0 голосов
/ 02 июля 2013

У меня такая же проблема, как и у вас, Даниэль11.В качестве решения я изучаю команды BATCH и их значение.После того, как я пойму это, я напишу программу на Python, которая делает то же самое или выполняет ту же задачу.

Спасибо Адаму В. и katrielatex за их понимание и предложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...