commandwrapper

Скріншот програми:
commandwrapper
Дані програми:
Версія: 0.7
Дата завантаження: 14 Apr 15
Розробник: Yves-Gwenael Bourhis
Ліцензія: Безкоштовно
Популярність: 2

Rating: nan/5 (Total Votes: 0)

commandwrapper є модуль Python, щоб обернути команду оболонки в Python різьбленням об'єкта.
Застосування:
Ви хочете, щоб запустити наступні Баш команд в темі:
[Користувач @ локальний ~] $ Ls -l | Grep PDF | туалет -l
5
от як ви можете це зробити:
>>> Ls = WrapCommand ("Ls -l ')
>>> GrepPdf = WrapCommand ('Grep PDF ")
>>> Wc = WrapCommand ('туалет -l')
>>> Wc.stdin = GrepPdf
>>> GrepPdf.stdin = Ls
>>> Wc.start ()
>>> # Зробити речі
...
>>> Wc.join ()
>>> Wc.results
('5 п', '')
нерухомість 'Результати' є кортеж (stdoutdata, stderrdata)
Ви також можете зробити це таким чином:
>>> Ls = WrapCommand ('Ls -l | Grep PDF | туалет -l', оболонки = True)
>>> Ls.start ()
>>> # Зробити речі
>>> Ls.join ()
>>> Ls.results [0]
"5 н
Ви повинні були б вказати 'SHELL = True', коли команда, яку ви хочете виконати насправді побудований в оболонку. а саме: на вікнах, якщо ви використовуєте вбудований в таких командах, як "реж" або "Копіювати" ,: http://docs.python.org/library/subprocess.html#subprocess.Popen
Мета робити це в потоці, коли вищевказані команди може зайняти кілька годин, і що ви хочете для виконання інших завдань в цей час. Ви можете перевірити процес все ще працює з:
>>> Wc.is_alive ()
Помилковий
'True' будуть повернуті, якщо раніше працює. Для завершення передчасно (тобто в тупик) у вас є "припинити () ',' Kill () 'або' send_signal (сигнал) методи, які самостійно мовою. Якщо ви хочете, щоб чекати потік до кінця, використовувати метод «приєднатися () ': http://docs.python.org/library/threading.html#threading.Thread.join
Ви хочете, щоб запустити наступні Баш команд без різьби:
[Користувач @ локальний ~] $ Ls -l | Grep PDF | туалет -l
5
от як ви можете це зробити:
>>> Ls = WrapCommand ("Ls -l ')
>>> GrepPdf = WrapCommand ('Grep PDF ")
>>> Wc = WrapCommand ('туалет -l')
>>> Wc (GrepPdf (Ls))
"5 н
Уникати цьому для процесів, де велика кількість даних по конвеєру від кожної команди.
Замість цього, зробити це таким чином:
>>> Ls = WrapCommand ('Ls -l | Grep PDF | туалет -l', оболонки = True)
>>> Ls ()
"5 н
Віддаю перевагу різьбленням метод замість цього, якщо це може зайняти багато часу, і що ви хочете для виконання інших завдань в цей час.
Ви можете вказати іншу оболонку для запуску команд:
>>> Ls = WrapCommand («LS ', оболонки = True, виконувані =' C: /windows/System32/WindowsPowerShell/v1.0/powershell.exe ')
>>> Друку Ls ()
І NBSP; довідник: C: Users Yves python_tests
Режим LastWriteTime довжина імені
---- ------------- ------ ----
-a --- 27.01.2011 00:14 7006 commandwrapper.py
-a --- 27.01.2011 00:15 7048 commandwrapper.pyc
Ви також можете використовувати контекст управління (with_item): http://docs.python.org/reference/compound_stmts.html#grammar-token-with_item
приклад:
>>> З WrapCommand («Ls -l '), як LS:
... З WrapCommand ('Grep у форматі PDF') в GrepPdf:
... З WrapCommand ('туалет -l') як туалетів:
... Wc.stdin = GrepPdf
... GrepPdf.stdin = Ls
... Wc.start ()
... # Зробити речі
... Wc.join ()
...
>>> Wc.results
('5 п', '')
Ви також можете просто хочу мати подпроцесс Objet:
>>> Ls = WrapCommand ("Ls -l ')
>>> Lscmd = ls.makeCmd ()
>>>
Повертаний об'єкт (lscmd в прикладі вище) стандарт subprocess.Popen об'єкт
WrapOnceCommand є такою ж, як WrapCommand, але CMD атрибут, який є subprocess.Popen буде створений об'єкт раз і назавжди Тому напередодні Methode (або об'єкт) може бути викликаний тільки один раз. Мета його запустити команду в потоці, і мати цю команду легко почати / зупинити з інших

Що нового У цьому випуску :.

  • Змінено автора контактна інформація.

Що нового у версії 0.4:

  • Увага ТУТ: //docs.python. орг / завдання / datamodel.html # об'єкт .__ дель __
  • І ще тому, зруйнованих об'єктів, де не автоматично видалені складальником сміття, як описано тут :. Http://docs.python.org/library/gc.html#gc.garbage що може призвести до збільшення використання пам'яті

Вимоги

  • Python

Інші програми розробника Yves-Gwenael Bourhis

botalert
botalert

15 Apr 15

progbar
progbar

14 Apr 15

commandwrapper

Коментар не знайдено
додати коментар
Включіть картинки!