commandwrapper

Software screenshot:
commandwrapper
Software detaljer:
Version: 0.7
Upload dato: 14 Apr 15
Licens: Gratis
Popularitet: 2

Rating: nan/5 (Total Votes: 0)

commandwrapper er en Python-modul til wrap en shell-kommando i en Python med gevind objekt.
Anvendelse:
Du ønsker at starte følgende bash kommandoer i en tråd:
[Bruger @ localhost ~] $ ls -l | grep pdf | wc -l
5
her er, hvordan du kan gøre det:
>>> Ls = WrapCommand ('ls -l)
>>> GrepPdf = WrapCommand ('grep pdf)
>>> Wc = WrapCommand ("wc -l)
>>> Wc.stdin = GrepPdf
>>> GrepPdf.stdin = Ls
>>> Wc.start ()
>>> #Do Ting
...
>>> Wc.join ()
>>> Wc.results
(5 n ',' ')
de »resultater« ejendom er en tupel (stdoutdata, stderrdata)
Du kan også gøre det på denne måde:
>>> Ls = WrapCommand ('ls -l | grep pdf | wc -l «, shell = True)
>>> Ls.start ()
>>> #Do Ting
>>> Ls.join ()
>>> Ls.results [0]
»5 n '
Du vil skulle specificere 'shell = True', når den kommando, du ønsker at udføre er faktisk bygget ind i skallen. dvs: på Windows, hvis du bruger indbyggede kommandoer som "dir" eller "kopi": http://docs.python.org/library/subprocess.html#subprocess.Popen
Formålet med at gøre det i en tråd, er, når de ovennævnte kommandoer kan tage et par timer, og at du ønsker at udføre andre opgaver i mellemtiden. Du kan kontrollere processen kører stadig med:
>>> Wc.is_alive ()
False
'True' ville blive returneret, hvis der stadig kører. For at afslutte det for tidligt (dvs. det fastlåste) du har den 'afslutte ()', 'Kill () "eller" send_signal (signal) metoder, der selv taler. Når du ønsker at vente på tråden til ende, bruge 'slutte () metoden: http://docs.python.org/library/threading.html#threading.Thread.join
Du ønsker at starte følgende bash kommandoer uden gevind:
[Bruger @ localhost ~] $ ls -l | grep pdf | wc -l
5
her er, hvordan du kan gøre det:
>>> Ls = WrapCommand ('ls -l)
>>> GrepPdf = WrapCommand ('grep pdf)
>>> Wc = WrapCommand ("wc -l)
>>> Wc (GrepPdf (LS))
»5 n '
Undgå at gøre dette for processer, hvor en stor mængde data pipes mellem hver kommando.
i stedet, gør det på denne måde:
>>> Ls = WrapCommand ('ls -l | grep pdf | wc -l «, shell = True)
>>> Ls ()
»5 n '
Foretrækker gevind metode i stedet, hvis det kan tage lang tid, og at du ønsker at udføre andre opgaver i mellemtiden.
Du kan angive en anden skal til at køre kommandoer:
>>> Ls = WrapCommand ('ls', shell = True, eksekverbare = 'C: /windows/System32/WindowsPowerShell/v1.0/powershell.exe')
>>> print Ls ()
& Nbsp; mappe: C: Brugere Yves python_tests
Tilstand LastWriteTime Længde Navn
---- ------------- ------ ----
-a --- 27-01-2011 00:14 7006 commandwrapper.py
-a --- 27-01-2011 00:15 7048 commandwrapper.pyc
Du kan også bruge 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å blot ønsker at have en underproces Objet:
>>> ls = WrapCommand ('ls -l)
>>> Lscmd = ls.makeCmd ()
>>>
den returnerede objekt (lscmd i ovenstående eksempel) er en standard subprocess.Popen objekt
WrapOnceCommand er det samme som WrapCommand, men cmd attribut, som er en subprocess.Popen objekt vil blive oprettet en gang for alle Derfor Kør methode (eller genstand) kan kun kaldes én gang. Målet er det at starte en kommando i en tråd, og at få denne kommando nemt starte / stoppes fra andre steder

Hvad er nyt i denne udgivelse:.

  • Ændret forfatterens kontakt info.

Hvad er nyt i version 0.4:

  • Advarsel her: http: //docs.python. org / reference / datamodel.html # objekt .__ del __
  • Og becasue ødelagte genstande, hvor der ikke automaticaly fjernes af affaldsindsamling, som beskrevet her:. Http://docs.python.org/library/gc.html#gc.garbage som kan forårsage hukommelsesforbrug stigning

Krav :

  • Python

Andre software developer Yves-Gwenael Bourhis

botalert
botalert

15 Apr 15

progbar
progbar

14 Apr 15

Kommentarer til commandwrapper

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!