commandwrapper

Screenshot Λογισμικό:
commandwrapper
Στοιχεία Λογισμικού:
Εκδοχή: 0.7
Ανεβάστε ημερομηνία: 14 Apr 15
Προγραμματιστής: Yves-Gwenael Bourhis
Άδεια: Δωρεάν
Δημοτικότητα: 2

Rating: nan/5 (Total Votes: 0)

commandwrapper είναι μια ενότητα Python για να τυλίξει ένα κέλυφος εντολή σε Python με σπείρωμα αντικείμενο.
Χρήση:
Θέλετε να εγκαινιάσει τις ακόλουθες εντολές bash σε μια κλωστή:
[User @ localhost ~] $ ls -l | grep PDF | wc -l
5
Εδώ είναι το πώς μπορείτε να το κάνετε:
>>> Ls = WrapCommand («ls -l»)
>>> GrepPdf = WrapCommand (pdf grep ')
>>> Wc = WrapCommand («wc -l»)
>>> Wc.stdin = GrepPdf
>>> GrepPdf.stdin = Ls
>>> Wc.start ()
>>> #Do Πράγματα
...
>>> Wc.join ()
>>> Wc.results
(5 n ',' ')
ιδιοκτησίας των «αποτελεσμάτων» είναι μια πλειάδα (stdoutdata, stderrdata)
Μπορείτε επίσης να κάνετε αυτό τον τρόπο:
>>> Ls = WrapCommand («ls -l | grep PDF | wc -l», κέλυφος = True)
>>> Ls.start ()
>>> #Do Πράγματα
>>> Ls.join ()
>>> Ls.results [0]
"5 n"
Θα πρέπει να καθορίσετε «κέλυφος = True 'όταν η εντολή που θέλετε να εκτελέσετε είναι στην πραγματικότητα ενσωματωμένη στο κέλυφος. δηλαδή: στα Windows, αν χρησιμοποιούν ενσωματωμένες σε εντολές όπως «dir» ή «αντίγραφο»: http://docs.python.org/library/subprocess.html#subprocess.Popen
Ο σκοπός της να κάνει το σε ένα νήμα είναι όταν οι παραπάνω εντολές μπορεί να διαρκέσει μερικές ώρες, και ότι θέλετε να εκτελέσετε άλλες εργασίες στο εν τω μεταξύ. Μπορείτε να ελέγξετε τη διαδικασία εξακολουθεί να λειτουργεί με:
>>> Wc.is_alive ()
Ψευδής
«Είναι αλήθεια», θα πρέπει να επιστραφεί αν εξακολουθεί να λειτουργεί. Για να τερματίσει πρόωρα (δηλαδή σε αδιέξοδο) έχετε το «τερματίσει ()», «kill ()» ή «send_signal μεθόδους (σήμα), το οποίο είναι αυτο μιλώντας. Όταν θέλετε να περιμένετε για το νήμα μέχρι το τέλος, χρησιμοποιήστε το "join ()« μέθοδος: http://docs.python.org/library/threading.html#threading.Thread.join
Θέλετε να εγκαινιάσει τις ακόλουθες εντολές bash χωρίς να σχίσω:
[User @ localhost ~] $ ls -l | grep PDF | wc -l
5
Εδώ είναι το πώς μπορείτε να το κάνετε:
>>> Ls = WrapCommand («ls -l»)
>>> GrepPdf = WrapCommand (pdf grep ')
>>> Wc = WrapCommand («wc -l»)
>>> Wc (GrepPdf (LS))
"5 n"
Αποφύγετε να το κάνετε αυτό για τις διαδικασίες όπου ένα μεγάλο μέρος των δεδομένων που διοχετεύεται ανάμεσα σε κάθε εντολή.
Αντ 'αυτού, το κάνουμε με αυτόν τον τρόπο:
>>> Ls = WrapCommand («ls -l | grep PDF | wc -l», κέλυφος = True)
>>> Ls ()
"5 n"
Προτιμήστε το σπείρωμα μέθοδος αντί αν αυτό μπορεί να διαρκέσει για μεγάλο χρονικό διάστημα και ότι θέλετε να εκτελέσετε άλλες εργασίες στο εν τω μεταξύ.
Μπορείτε να καθορίσετε ένα άλλο κέλυφος για την εκτέλεση εντολών:
>>> Ls = WrapCommand («LS», κέλυφος = True, εκτελέσιμο = "C: /windows/System32/WindowsPowerShell/v1.0/powershell.exe ')
>>> Ls εκτύπωσης ()
& Nbsp? Κατάλογο: C: Users Yves python_tests
Λειτουργία LastWriteTime μήκος του ονόματος
---- ------------- ------ ----
-a --- 27/01/2011 00:14 7006 commandwrapper.py
-a --- 27/01/2011 00:15 7048 commandwrapper.pyc
Μπορείτε επίσης να χρησιμοποιήσετε το Πλαίσιο Διαχείρισης (with_item): http://docs.python.org/reference/compound_stmts.html#grammar-token-with_item
παράδειγμα:
>>> Με WrapCommand («ls -l») ως Ls:
... Με WrapCommand («grep pdf») ως GrepPdf:
... Με WrapCommand («wc -l») ως WC:
... Wc.stdin = GrepPdf
... GrepPdf.stdin = Ls
... Wc.start ()
... #Do Πράγματα
... Wc.join ()
...
>>> Wc.results
(5 n ',' ')
Μπορείτε επίσης απλά να θέλουν να έχουν ένα μικροαντικείμενα υποεπεξεργασία:
>>> Ls = WrapCommand («ls -l»)
>>> Lscmd = ls.makeCmd ()
>>>
το επιστρεφόμενο αντικείμενο (lscmd στο παραπάνω παράδειγμα) είναι ένα πρότυπο subprocess.Popen αντικείμενο
WrapOnceCommand είναι το ίδιο όπως WrapCommand, αλλά η CMD χαρακτηριστικό το οποίο είναι ένα subprocess.Popen αντικείμενο θα δημιουργηθεί μία φορά και για όλα, συνεπώς, η κίνηση τη μέθοδο της (ή το αντικείμενο) μπορεί να ονομάζεται μόνο μία φορά. Ο στόχος είναι να ξεκινήσει μια εντολή σε μια κλωστή, και να έχουν εύκολα αυτή την εντολή να ξεκινήσει / σταματήσει από αλλού

Τι είναι καινούργιο σε αυτή την έκδοση:.

  • Επικοινωνία Άλλαξε συγγραφέα.

Τι είναι καινούργιο στην έκδοση 0.4:

  • Η Προειδοποίηση εδώ: http: //docs.python. org / αναφορά / datamodel.html # αντικειμένου .__ del __
  • Και becasue καταστραφεί αντικείμενα όπου δεν αφαιρείται αυτόματα από τον συλλέκτη σκουπιδιών, όπως περιγράφεται εδώ:. Http://docs.python.org/library/gc.html#gc.garbage που μπορεί να προκαλέσει αύξηση της χρήσης της μνήμης

Απαιτήσεις :

  • Python

Άλλο λογισμικό του προγραμματιστή Yves-Gwenael Bourhis

botalert
botalert

15 Apr 15

progbar
progbar

14 Apr 15

Σχόλια για commandwrapper

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!