commandwrapper

Software kuvakaappaus:
commandwrapper
Ohjelmiston tiedot:
Versio: 0.7
Lähetyksen päivämäärä: 14 Apr 15
Kehittäjä: Yves-Gwenael Bourhis
Lupa: Vapaa
Suosio: 43

Rating: 5.0/5 (Total Votes: 1)

commandwrapper on Python-moduuli kääri komentotulkin komento osaksi Python kierteillä esine.
Käyttö:
Haluat käynnistää seuraavat bash komennot kierre:
[User @ localhost ~] $ ls -l | grep pdf | wc -l
5
tässä miten voit tehdä sen:
>>> Ls = WrapCommand ('ls -l')
>>> GrepPdf = WrapCommand ('grep pdf)
>>> Wc = WrapCommand ('wc -l')
>>> Wc.stdin = GrepPdf
>>> GrepPdf.stdin = Ls
>>> Wc.start ()
>>> #Do Juttuja
...
>>> Wc.join ()
>>> Wc.results
(5 n ',' ')
"tulokset" omaisuus on monikon (stdoutdata, stderrdata)
Voit myös tehdä sen näin:
>>> Ls = WrapCommand ('ls -l | grep pdf | wc -l', shell = True)
>>> Ls.start ()
>>> #Do Juttuja
>>> Ls.join ()
>>> Ls.results [0]
"5 n '
Sinun täytyy määritellä "shell = True 'kun komennon haluat suorittaa on todella rakennettu kuori. eli: Windows Jos käytät rakennettu komentoja kuten "dir" tai "copy": http://docs.python.org/library/subprocess.html#subprocess.Popen
Tarkoitus tehdä se lanka on, kun edellä komennot voi kestää muutaman tunnin, ja että haluat suorittaa muita tehtäviä välin. Voit tarkistaa prosessi on edelleen käynnissä:
>>> Wc.is_alive ()
Väärä
"True" olisi palautettava, jos vielä käynnissä. Irtisanoa ennenaikaisesti (ts umpikujassa) sinulla on "lopettaa ()", "tappaa ()" tai "send_signal (signaali) menetelmiä, jotka ovat itsestään puhuminen. Kun haluat odottaa langan päähän, käytä "liittyä () 'menetelmä: http://docs.python.org/library/threading.html#threading.Thread.join
Haluat käynnistää seuraavat bash komennot pujottamatta:
[User @ localhost ~] $ ls -l | grep pdf | wc -l
5
tässä miten voit tehdä sen:
>>> Ls = WrapCommand ('ls -l')
>>> GrepPdf = WrapCommand ('grep pdf)
>>> Wc = WrapCommand ('wc -l')
>>> Wc (GrepPdf (Ls))
"5 n '
Vältä tätä prosesseissa, joissa suuri määrä dataa johdetaan kunkin komennon.
sen sijaan, tee se näin:
>>> Ls = WrapCommand ('ls -l | grep pdf | wc -l', shell = True)
>>> Ls ()
"5 n '
Mieluummin kierteinen menetelmän sijaan, jos tämä voi kestää kauan ja että haluat suorittaa muita tehtäviä välin.
Voit määrittää toisen shell käynnissä komennot:
>>> Ls = WrapCommand ('ls', shell = True, suoritettavan = "C: /windows/System32/WindowsPowerShell/v1.0/powershell.exe ')
>>> Print Ls ()
& Nbsp; Directory: C: Users Yves python_tests
Tila LastWriteTime Pituus Nimi
---- ------------- ------ ----
-a --- 27/01/2011 00:14 7006 commandwrapper.py
-a --- 27/01/2011 00:15 7048 commandwrapper.pyc
Voit myös käyttää Context Management (with_item): http://docs.python.org/reference/compound_stmts.html#grammar-token-with_item
Esimerkiksi:
>>> Kanssa WrapCommand ('ls -l') Ls:
... Kanssa WrapCommand ('grep pdf) kuin GrepPdf:
... Kanssa WrapCommand ('wc -l') kuin Wc:
... Wc.stdin = GrepPdf
... GrepPdf.stdin = Ls
... Wc.start ()
... #Do Juttuja
... Wc.join ()
...
>>> Wc.results
(5 n ',' ')
Voit myös yksinkertaisesti halua olla aliprosessi Objet:
>>> Ls = WrapCommand ('ls -l')
>>> Lscmd = ls.makeCmd ()
>>>
palasi esine (lscmd yllä olevassa esimerkissä) on standardi subprocess.Popen esine
WrapOnceCommand on sama kuin WrapCommand, mutta cmd ominaisuuden perusteella, joka subprocess.Popen objekti luodaan kerralla siis ajaa methode (tai objekti) voidaan kutsua vain kerran. Tavoitteena on käynnistää komennon kierre, ja on tämän komennon helposti aloittaa / pysäyttää muualta.

Mitä uutta tässä julkaisussa:

  • Vaihtoi tekijän yhteystiedot.

Mitä uutta versiossa 0.4:

  • Varoitus täällä: http: //docs.python. org / viite / datamodel.html # esine .__ del __
  • Ja becasue tuhosi kohteet, joissa ei automaticaly poistettu roskienkerääjä tässä kuvatulla: http://docs.python.org/library/gc.html#gc.garbage joka voi aiheuttaa muistin käyttö kasvaa.

Vaatimukset :

  • Python

Muu ohjelmistojen kehittäjä Yves-Gwenael Bourhis

botalert
botalert

15 Apr 15

progbar
progbar

14 Apr 15

Kommentit commandwrapper

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!