commandwrapper

Screenshot Software:
commandwrapper
Szczegóły programowe:
Wersja: 0.7
Filmu: 14 Apr 15
Wywoływacz: Yves-Gwenael Bourhis
Licencja: Wolny
Popularność: 2

Rating: nan/5 (Total Votes: 0)

commandwrapper to moduł Pythona, by zakończyć polecenie powłoki do Python gwintowaną obiektu.
Sposób użycia:
Chcesz uruchomić następujące polecenia w bash wątku:
[User @ localhost ~] $ ls -l | grep PDF | wc -l
5
oto jak to zrobić:
>>> PLN = WrapCommand ("ls -l ')
>>> GrepPdf = WrapCommand ("grep pdf")
>>> Wc = WrapCommand ("wc -l ')
>>> Wc.stdin = GrepPdf
>>> GrepPdf.stdin = PLN
>>> Wc.start ()
>>> #Do Rzeczy
...
>>> Wc.join ()
>>> Wc.results
("5 n ',' ')
Obiekt "Wyniki" jest krotka (stdoutdata, stderrdata)
Można również zrobić to w ten sposób:
>>> PLN = WrapCommand ("ls -l | grep PDF | wc -l ', shell = True)
>>> Ls.start ()
>>> #Do Rzeczy
>>> Ls.join ()
>>> Ls.results [0]
"5 n"
Trzeba by określić "shell = True", gdy polecenie chcesz uruchomić zostanie zbudowany w powłoce. tj: w systemie Windows, jeśli użyjesz zbudowany w poleceń takich jak "dir" lub "kopia": http://docs.python.org/library/subprocess.html#subprocess.Popen
Celem robi to w wątku jest, gdy powyższe komendy może trwać kilka godzin, i że chcesz wykonywać inne zadania w tym czasie. Możesz sprawdzić proces nadal działa z:
>>> Wc.is_alive ()
Fałszywy
"Prawda" jest zwracana, jeśli nadal działa. Aby zakończyć go przedwcześnie (czyli w impasie) masz "terminate () ',' kill () 'lub' send_signal (sygnałów) metody, które są mówi. Jeśli chcesz czekać na wątku do końca, należy użyć "join ()" metody: http://docs.python.org/library/threading.html#threading.Thread.join
Chcesz uruchomić następujące polecenia bez gwintowania bash:
[User @ localhost ~] $ ls -l | grep PDF | wc -l
5
oto jak to zrobić:
>>> PLN = WrapCommand ("ls -l ')
>>> GrepPdf = WrapCommand ("grep pdf")
>>> Wc = WrapCommand ("wc -l ')
>>> Wc (GrepPdf (PLN))
"5 n"
Unikać robi to dla procesów, gdzie duża ilość danych jest rurami między każdego polecenia.
zamiast zrobić to w ten sposób:
>>> PLN = WrapCommand ("ls -l | grep PDF | wc -l ', shell = True)
>>> PLN ()
"5 n"
Wolę gwintowany metody zamiast, jeśli może to zająć dużo czasu i że chcesz wykonywać inne zadania w tym czasie.
Możesz określić inną powłokę do wykonywania poleceń:
>>> PLN = WrapCommand ('ls', powłoki = prawda, wykonywalny = 'C: /windows/System32/WindowsPowerShell/v1.0/powershell.exe ")
>>> PLN print ()
& Nbsp; katalog: C: Users Yves python_tests
Tryb LastWriteTime Długość Nazwa
---- ------------- ------ ----
-a --- 27/01/2011 00:14 7006 commandwrapper.py
-a --- 27/01/2011 00:15 7048 commandwrapper.pyc
Możesz także użyć Kontekst Management (with_item): http://docs.python.org/reference/compound_stmts.html#grammar-token-with_item
Przykład:
>>> Z WrapCommand ('ls -l') jako Ls:
... Z WrapCommand ("grep pdf ') jako GrepPdf:
... Z WrapCommand ("wc -l ') jako Wc:
... Wc.stdin = GrepPdf
... GrepPdf.stdin = PLN
... Wc.start ()
... #Do Rzeczy
... Wc.join ()
...
>>> Wc.results
("5 n ',' ')
Można też po prostu chcą mieć objet subprocess:
>>> ls = WrapCommand ("ls -l ')
>>> Lscmd = ls.makeCmd ()
>>>
Zwrócony obiekt (lscmd w powyższym przykładzie) to standard subprocess.Popen obiektu
WrapOnceCommand jest taki sam jak WrapCommand, ale cmd cechą, która jest subprocess.Popen obiekt zostanie utworzony raz na zawsze, w związku z czym methode biegu (lub obiektu) mogą być wywoływane tylko raz. Celem jest, aby uruchomić polecenie w wątku, a także do tego polecenia łatwo rozpocząć / zatrzymać z zewnątrz

Co nowego w tym wydaniu:.

  • Kontakt Zmieniono autora.

Co nowego w wersji 0.4:

  • Ostrzeżenie tutaj: http: //docs.python. org / referencje / datamodel.html # obiekt .__ del __
  • A becasue zniszczonych obiektów, gdzie nie automatycznie usunięte przez garbage collector, jak opisano tutaj:. Http://docs.python.org/library/gc.html#gc.garbage co może spowodować wzrost wykorzystania pamięci

Wymagania :

  • Python

Inne programy z deweloperem Yves-Gwenael Bourhis

botalert
botalert

15 Apr 15

progbar
progbar

14 Apr 15

Komentarze do commandwrapper

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!