commandwrapper

Skjermbilde programvare:
commandwrapper
Prog.varedetaljer:
Versjon: 0.7
Last opp dato: 14 Apr 15
Lisens: Gratis
Popularitet: 2

Rating: nan/5 (Total Votes: 0)

commandwrapper er et Python-modul for å pakke inn en skallkommando inn i en Python gjenget objekt.
Bruk:
Du ønsker å lansere følgende bash kommandoer i en tråd:
[User @ localhost ~] $ ls -l | grep pdf | wc -l
5
her er hvordan du kan gjøre 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 resultater 'eiendom er et tuppel (stdoutdata, stderrdata)
Du kan også gjøre det på denne måten:
>>> Ls = WrapCommand ('ls -l | grep pdf | wc -l', shell = True)
>>> Ls.start ()
>>> #Do Stuff
>>> Ls.join ()
>>> Ls.results [0]
'5 n'
Du må oppgi 'shell = True' når kommandoen du ønsker å utføre er faktisk bygget inn i skallet. dvs: på Windows hvis du bruke bygget i kommandoer som "dir" eller "kopier": http://docs.python.org/library/subprocess.html#subprocess.Popen
Hensikten med å gjøre det i en tråd er når kommandoene ovenfor kan ta et par timer, og at du ønsker å utføre andre oppgaver i mellomtiden. Du kan kontrollere prosessen er fortsatt kjører med:
>>> Wc.is_alive ()
False
'True' ville bli returnert hvis fortsatt kjører. For å avslutte det for tidlig (dvs. det fastlåste) du har "avslutte () ',' kill () 'eller' send_signal (signal) metoder som er selv taler. Når du ønsker å vente på tråden til slutt, bruk 'delta ()' metode: http://docs.python.org/library/threading.html#threading.Thread.join
Du ønsker å lansere følgende bash kommandoene uten threading:
[User @ localhost ~] $ ls -l | grep pdf | wc -l
5
her er hvordan du kan gjøre det:
>>> Ls = WrapCommand ('ls -l')
>>> GrepPdf = WrapCommand ('grep pdf')
>>> Wc = WrapCommand ('wc -l')
>>> Wc (GrepPdf (Ls))
'5 n'
Unngå å gjøre dette for prosesser der en stor mengde data transporteres mellom hver kommando.
i stedet, gjør det på denne måten:
>>> Ls = WrapCommand ('ls -l | grep pdf | wc -l', shell = True)
>>> Ls ()
'5 n'
Foretrekker den gjengede metode i stedet hvis dette kan ta lang tid, og at du ønsker å utføre andre oppgaver i mellomtiden.
Du kan angi en annen skallet for å kjøre kommandoer:
>>> Ls = WrapCommand ('ls', shell = Sant, kjør = 'C: /windows/System32/WindowsPowerShell/v1.0/powershell.exe')
>>> utskrifts Ls ()
& Nbsp; C: Users Yves python_tests
Modus LastWriteTime Lengde Name
---- ------------- ------ ----
-a --- 27.01.2011 00:14 7006 commandwrapper.py
-a --- 27.01.2011 00:15 7048 commandwrapper.pyc
Du kan også bruke Context Management (with_item): http://docs.python.org/reference/compound_stmts.html#grammar-token-with_item
eksempel:
>>> 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 kan også rett og slett ønsker å ha en delprosess objet:
>>> ls = WrapCommand ('ls -l')
>>> Lscmd = ls.makeCmd ()
>>>
den returnerte objekt (lscmd i eksempelet ovenfor) er en standard subprocess.Popen objekt
WrapOnceCommand er det samme som WrapCommand, men cmd attributt som er en subprocess.Popen objektet vil bli opprettet en gang for alle Derfor løp Methode (eller objektet) kan bare kalles en gang. Målet det å lansere en kommando i en tråd, og for å ha denne kommandoen enkelt starte / stoppet fra andre steder

Hva er nytt i denne utgaven:.

  • Endret forfatterens kontaktinfo.

Hva er nytt i versjon 0.4:

  • Advarsel her: http: //docs.python. org / referanse / datamodel.html # objekt .__ del __
  • Og fordi ødelagte gjenstander der ikke automaticaly fjernet av søppelinnsamler som beskrevet her:. Http://docs.python.org/library/gc.html#gc.garbage Som kan føre til minnebruk økning

Krav :

  • Python

Annen programvare fra utvikleren Yves-Gwenael Bourhis

progbar
progbar

14 Apr 15

botalert
botalert

15 Apr 15

Kommentarer til commandwrapper

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!