commandwrapper

Szoftver screenshot:
commandwrapper
Szoftver adatai:
Változat: 0.7
Feltöltés dátuma: 14 Apr 15
Engedély: Ingyenes
Népszerűség: 43

Rating: 5.0/5 (Total Votes: 1)

commandwrapper egy Python modul, hogy lezárja a shell parancsot egy Python menetes objektumot.
Használat:
El akarja indítani a következő bash parancsokat menet:
[User @ localhost ~] $ ls -l | grep pdf | wc -l
5
Itt van, hogyan lehet csinálni:
>>> Ls = WrapCommand ("ls -l")
>>> GrepPdf = WrapCommand ("grep pdf)
>>> Wc = WrapCommand ('wc -l)
>>> Wc.stdin = GrepPdf
>>> GrepPdf.stdin = Ls
>>> Wc.start ()
>>> #Do Cucc
...
>>> Wc.join ()
>>> Wc.results
("5 n ',' ')
Az "eredmények" tulajdonság egy tuple (stdoutdata, stderrdata)
Azt is megteheti ezt így:
>>> Ls = WrapCommand ("ls -l | grep pdf | wc -l ', shell = True)
>>> Ls.start ()
>>> #Do Cucc
>>> Ls.join ()
>>> Ls.results [0]
"5 n"
Meg kellene határozni "shell = True", amikor a parancsot végrehajtani kívánt valójában épített shell. azaz: a Windows használata esetén beépített parancsokat, mint a "dir" vagy "másolat": http://docs.python.org/library/subprocess.html#subprocess.Popen
A cél hogy mindezt egy szál, ha a fenti parancsokat lehet néhány óra, és ezt szeretnénk, ha további feladatokat időközben. Meg tudja nézni a folyamat még mindig fut:
>>> Wc.is_alive ()
Hamis
"True" lenne visszaküldeni, ha még mindig fut. Felmondhatja azt idő előtt (azaz holtponton) meg van a "megszünteti () ',' kill ()" vagy "send_signal (jel) módszerek, amelyek saját beszéd. Ha szeretné megvárni a menet végén, használja a "join ()" módszer: http://docs.python.org/library/threading.html#threading.Thread.join
El akarja indítani a következő bash parancsokat menet nélküli:
[User @ localhost ~] $ ls -l | grep pdf | wc -l
5
Itt van, hogyan lehet csinálni:
>>> Ls = WrapCommand ("ls -l")
>>> GrepPdf = WrapCommand ("grep pdf)
>>> Wc = WrapCommand ('wc -l)
>>> Wc (GrepPdf (Ls))
"5 n"
Kerülje el ezt a folyamatokat, ahol a nagy mennyiségű adat csövezi között minden parancs.
ahelyett, ezt így:
>>> Ls = WrapCommand ("ls -l | grep pdf | wc -l ', shell = True)
>>> Ls ()
"5 n"
Inkább a menetes módszer helyett, ha ez hosszú időt vesz igénybe, és ezt szeretnénk, ha további feladatokat időközben.
Megadhatja egy másik shell futtatására parancsokat:
>>> Ls = WrapCommand ('ls', shell = True, futtatható = "C: /windows/System32/WindowsPowerShell/v1.0/powershell.exe)
>>> Print Ls ()
& Nbsp; Directory: C: Users Yves python_tests
Mode LastWriteTime Hosszúság név
---- ------------- ------ ----
-a --- 27/01/2011 00:14 7006 commandwrapper.py
-a --- 27/01/2011 00:15 7048 commandwrapper.pyc
Ön is használja Context Management (with_item): http://docs.python.org/reference/compound_stmts.html#grammar-token-with_item
Például:
>>> A WrapCommand ("ls -l"), mint Ls:
... A WrapCommand ("grep pdf), mint GrepPdf:
... A WrapCommand ("wc -l"), mint Wc:
... Wc.stdin = GrepPdf
... GrepPdf.stdin = Ls
... Wc.start ()
... #Do Cucc
... Wc.join ()
...
>>> Wc.results
("5 n ',' ')
Ön is egyszerűen csak szeretné jól alfolyamatként objet:
>>> Ls = WrapCommand ("ls -l")
>>> Lscmd = ls.makeCmd ()
>>>
a visszaadott objektum (lscmd a fenti példában) egy szabványos subprocess.Popen objektum
WrapOnceCommand ugyanaz, mint WrapCommand, de a cmd attribútum, amely egy subprocess.Popen objektum jön létre egyszer és mindenkorra Ezért a futás Methode (vagy a tárgy), csak akkor hívják egyszer. A cél, hogy indítson parancsot egy szál, és hogy ezt a parancsot könnyen indul / leáll máshonnan.

Mi az új ebben a kiadásban:

  • Megváltozott szerző elérhetősége.

Mi az új a 0.4 verzió:

  • A figyelmeztetés van: http: //docs.python. org / referencia / datamodel.html # tárgy .__ del __
  • És becasue elpusztult objektumokat, ahol nem automatikus eltávolítani a szemétgyűjtő itt leírtak: http://docs.python.org/library/gc.html#gc.garbage okozó memória használat növekedését.

követelmények :

  • Python

Más szoftver fejlesztő Yves-Gwenael Bourhis

progbar
progbar

14 Apr 15

botalert
botalert

15 Apr 15

Hozzászólások a commandwrapper

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!