Основные команды cygwin из подпроцесса PythonPython

Программы на Python
Anonymous
Основные команды cygwin из подпроцесса Python

Сообщение Anonymous »

Я хочу запустить cygwin из Python и выполнять команды cygwin.

Я использую Windows, поэтому хочу запускать команды в cygwin, а не в cmd. Я использую Python 3.6.1.

Я просто хочу знать, как запускать основные команды, чтобы можно было работать оттуда, как ls. Я пробовал:
  • Код: Выделить всё

    subprocess.call("E:/cygwin/bin/bash.exe", "ls")
    (что-то вроде этого, но это не работает)
  • приведенное ниже решение, предложенное @pstatix, которое использует Popen(). Запуск stdin.close() после stdin.write(b'ls') приводит к ошибке /usr/bin/bash: строка 1: ls: команда не найдена.
Я могу сделать следующее:
  • откройте cygwin: subprocess.call("E:/cygwin/bin/bash.exe")
  • (выполнить команды в Windows cmd: subprocess.call("dir", Shell=True))
Возможно ли это в этом формате?
Закрывается ли cygwin автоматически, когда я запускаю следующую команду Python, или мне нужно выйти до этого?

Я относительно новичок в этом.

Подробнее здесь: https://stackoverflow.com/questions/444 ... subprocess

Вернуться в «Python»