commandwrapper

Software skärmdump:
commandwrapper
Mjukvaruinformation:
Version: 0.7
Ladda upp dagen: 14 Apr 15
Licens: Gratis
Popularitet: 2

Rating: nan/5 (Total Votes: 0)

commandwrapper är en Python-modul för att linda ett skalkommando i en Python gängad objekt.
Användning:
Du vill starta följande bash kommandon i en tråd:
[User @ localhost ~] $ ls -l | grep pdf | wc -l
5
Här är hur du kan göra det:
>>> Ls = WrapCommand ('ls -l')
>>> GrepPdf = WrapCommand ('grep pdf)
>>> Wc = WrapCommand ('wc -l')
>>> Wc.stdin = GrepPdf
>>> GrepPdf.stdin = Ls
>>> Wc.start ()
>>> #Do Stuff
...
>>> Wc.join ()
>>> Wc.results
('5 n', '')
de "resultat" egendom är en tupel (stdoutdata, stderrdata)
Du kan också göra det här sättet:
>>> Ls = WrapCommand ('ls -l | grep pdf | wc -l', shell = sant)
>>> Ls.start ()
>>> #Do Stuff
>>> Ls.join ()
>>> Ls.results [0]
"5 n '
Du skulle behöva ange "shell = Sant" när det kommando du vill köra är faktiskt inbyggd i skalet. dvs: i Windows om du använda inbyggda kommandon som "dir" eller "kopia": http://docs.python.org/library/subprocess.html#subprocess.Popen
Syftet med att göra det i en tråd är när ovanstående kommandon kan ta några timmar, och att du vill utföra andra uppgifter under tiden. Du kan kontrollera processen är fortfarande igång med:
>>> Wc.is_alive ()
Falsk
"Sann" skulle återlämnas om det fortfarande körs. För att avsluta det i förtid (dvs det låsta) har du "avsluta ()", "kill ()" eller "send_signal (signal) metoder som är självtalande. När du vill vänta på tråden till slut, använd "join () 'metod: http://docs.python.org/library/threading.html#threading.Thread.join
Du vill starta följande bash kommandon utan gäng:
[User @ localhost ~] $ ls -l | grep pdf | wc -l
5
Här är hur du kan göra det:
>>> Ls = WrapCommand ('ls -l')
>>> GrepPdf = WrapCommand ('grep pdf)
>>> Wc = WrapCommand ('wc -l')
>>> Wc (GrepPdf (Ls))
"5 n '
Undvik att göra detta för processer där en stor mängd data leds mellan varje kommando.
istället, gör det här sättet:
>>> Ls = WrapCommand ('ls -l | grep pdf | wc -l', shell = sant)
>>> Ls ()
"5 n '
Föredrar den gängade metoden i stället om det kan ta lång tid och att du vill utföra andra uppgifter under tiden.
Du kan ange ett annat skal för att köra kommandon:
>>> Ls = WrapCommand ('ls', shell = Sant, körbara = "C: /windows/System32/WindowsPowerShell/v1.0/powershell.exe ')
>>> print Ls ()
& Nbsp; i registret: C: Users Yves python_tests
Läge LastWriteTime Längd Namn
---- ------------- ------ ----
-a --- 27/01/2011 00:14 7006 commandwrapper.py
-a --- 27/01/2011 00:15 7048 commandwrapper.pyc
Du kan också använda Context Management (with_item): http://docs.python.org/reference/compound_stmts.html#grammar-token-with_item
exempel:
>>> Med WrapCommand ('ls -l') som Ls:
... Med WrapCommand ("grep pdf") som GrepPdf:
... Med WrapCommand ('wc -l ") som Wc:
... Wc.stdin = GrepPdf
... GrepPdf.stdin = Ls
... Wc.start ()
... #Do Stuff
... Wc.join ()
...
>>> Wc.results
('5 n', '')
Du kanske också bara vill ha en delprocess objet:
>>> ls = WrapCommand ('ls -l')
>>> Lscmd = ls.makeCmd ()
>>>
den returnerade objektet (lscmd i exemplet ovan) är en standard subprocess.Popen objekt
WrapOnceCommand är samma som WrapCommand, men cmd attribut som är en subprocess.Popen objekt skapas en gång för alla därför kör méthode (eller objektet) som bara kan kallas en gång. Målet är att lansera ett kommando i en tråd, och att få detta kommando enkelt starta / stoppas från annat håll

Vad är nytt i den här versionen:.

  • Ändrad författarens kontaktinformation.

Vad är nytt i version 0.4:

  • Varning här: http: //docs.python. org / referens / datamodel.html # objekt .__ del __
  • Och becasue förstörda objekt där inte automaticaly bort av sophämtare som beskrivs här:. Http://docs.python.org/library/gc.html#gc.garbage Vilket kan orsaka minnesanvändning ökning

Krav :

  • Python

Annan programvara för utvecklare Yves-Gwenael Bourhis

progbar
progbar

14 Apr 15

botalert
botalert

15 Apr 15

Kommentarer till commandwrapper

Kommentarer hittades inte
Kommentar
Slå på bilder!