commandwrapper

Screenshot der Software:
commandwrapper
Softwarebeschreibung:
Version: 0.7
Upload-Datum: 14 Apr 15
Lizenz: Frei
Popularität: 43

Rating: 5.0/5 (Total Votes: 1)

commandwrapper ist ein Python-Modul, um ein Shell-Befehl in eine Python Gewinde Objekt zu wickeln.
Anwendung:
Sie möchten die folgenden Bash-Befehle in einem Thread zu starten:
[User @ localhost ~] $ ls -l | grep pdf | wc -l
5
hier ist, wie Sie es tun können:
>>> Ls = WrapCommand ('ls -l')
>>> GrepPdf = WrapCommand ('grep pdf)
>>> Wc = WrapCommand ('wc -l')
>>> Wc.stdin = GrepPdf
>>> GrepPdf.stdin = Ls
>>> Wc.start ()
>>> #Die Zeug
...
>>> Wc.join ()
>>> Wc.results
('5 n', '')
die "Ergebnisse" Eigentum ist ein Tupel (stdoutdata, stderrdata)
Sie können auch auf diese Weise:
>>> Ls = WrapCommand ('ls -l | grep pdf | wc -l "shell = True)
>>> Ls.start ()
>>> #Die Zeug
>>> Ls.join ()
>>> Ls.results [0]
"5 n '
Alles was Sie brauchen, um festzulegen "shell = True ', wenn der Befehl Sie ausführen möchten tatsächlich in die Shell integriert. dh: unter Windows, wenn Sie in Befehle wie 'dir' oder "Kopie" gebaut werden, benutzen: http://docs.python.org/library/subprocess.html#subprocess.Popen
Der Zweck, es zu tun in einem Thread ist, wenn die oben genannten Befehle kann einige Stunden in Anspruch nehmen, und dass Sie für andere Aufgaben in der Zwischenzeit durchführen möchten. Sie können der Prozess noch mit dem Betrieb überprüfen:
>>> Wc.is_alive ()
Falsch
'True' würde, wenn noch läuft zurückgegeben werden. Um es vorzeitig zu beenden (dh er festgefahren) Sie den 'terminate () "," kill () "oder" send_signal (Signal) Methoden, die sich selbst zu sprechen sind, haben. Wenn Sie für den Thread zu Ende warten möchten, benutzen Sie die "join ()" Methode: http://docs.python.org/library/threading.html#threading.Thread.join
Sie möchten die folgende bash Befehle ohne Einfädeln zu starten:
[User @ localhost ~] $ ls -l | grep pdf | wc -l
5
hier ist, wie Sie es tun können:
>>> Ls = WrapCommand ('ls -l')
>>> GrepPdf = WrapCommand ('grep pdf)
>>> Wc = WrapCommand ('wc -l')
>>> Wc (GrepPdf (Ls))
"5 n '
Vermeiden, das für Prozesse, bei denen eine große Menge von Daten zwischen jedem Befehl geleitet.
Stattdessen tun Sie es so:
>>> Ls = WrapCommand ('ls -l | grep pdf | wc -l "shell = True)
>>> Ls ()
"5 n '
Ziehe die Gewinde Verfahren statt, wenn dies kann sehr lange dauern, und dass Sie für andere Aufgaben in der Zwischenzeit durchführen möchten.
Sie können eine andere Shell für die Ausführung von Befehlen anzugeben:
>>> Ls = WrapCommand ('ls', shell = True, ausführbare = 'C: /windows/System32/WindowsPowerShell/v1.0/powershell.exe')
>>> Print Ls ()
& Nbsp; Verzeichnis: C: Users Yves python_tests
Modus Lastwritetime Länge Name
---- ------------- ------ ----
-a --- 27.01.2011 00.14 7006 commandwrapper.py
-a --- 27.01.2011 00.15 7048 commandwrapper.pyc
Sie können auch Context Management (WITH_ITEM): http://docs.python.org/reference/compound_stmts.html#grammar-token-with_item
Beispiel:
>>> Mit WrapCommand ('ls -l') als Ls:
... Mit WrapCommand ('grep pdf') als GrepPdf:
... Mit WrapCommand ('wc -l') als Wc:
... Wc.stdin = GrepPdf
... GrepPdf.stdin = Ls
... Wc.start ()
... #Die Zeug
... Wc.join ()
...
>>> Wc.results
('5 n', '')
Sie können auch einfach nur ein Unterprozess objet haben:
>>> Ls = WrapCommand ('ls -l')
>>> Lscmd = ls.makeCmd ()
>>>
das zurückgegebene Objekt (lscmd im obigen Beispiel) ist ein Standard subprocess.Popen Objekt
WrapOnceCommand ist die gleiche wie WrapCommand, aber der cmd-Attribut, das ein subprocess.Popen Objekt wird ein für alle Mal Daher Vorfeld Methode erstellt werden soll (oder das Objekt) kann nur einmal aufgerufen werden. Das Ziel ist, einen Befehl in einem Thread zu starten, und um diesen Befehl einfach haben Start / gestoppt von anderswo

Was ist neu in dieser Pressemitteilung:.

  • Kontaktdaten geändert Autors.

Was ist neu in Version 0.4:

  • Die Warnung hier: http: //docs.python. org / reference / datamodel.html # object .__ del __
  • Und becasue zerstört Objekte, bei denen nicht automatisch vom Garbage Collector entfernt, wie hier beschrieben:. Http://docs.python.org/library/gc.html#gc.garbage Welche Speichernutzung Anstieg dazu führen können,

Anforderungen :

  • Python

Andere Software von Entwickler Yves-Gwenael Bourhis

botalert
botalert

15 Apr 15

progbar
progbar

14 Apr 15

Kommentare zu commandwrapper

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!