ausführen von python-Skript mit der Funktion von der Kommandozeile, Linux

Habe ich meine python-Datei namens convertImage.py und in der Datei habe ich ein script, das konvertiert ein Bild nach meinem Geschmack, die gesamte Konvertierung von Skript innerhalb einer Funktion aufgerufen konvertieredatei(fileName)

Nun mein problem ist ich benötigen zur Ausführung des python-Skripts aus der linux-Kommandozeile, indem Sie die konvertieredatei(fileName) Funktion zusammen mit ihm.

Beispiel:

 linux user$: python convertImage.py convertFile(fileName)

Sollte dies führen Sie das python-Skript übergeben wird, die entsprechende Funktion.

Beispiel:

def convertFile(fileName):

    import os, sys
    import Image
    import string

    splitName = string.split(fileName, "_")
    endName = splitName[2]
    splitTwo = string.split(endName, ".")
    userFolder = splitTwo[0]

    imageFile = "/var/www/uploads/tmp/"+fileName

    ...rest of the script...

    return

Was ist der richtige Weg, der zum ausführen dieses python-Skript und ordnungsgemäß übergeben Sie die Datei dem Namen der Funktion aus der liunx-Befehlszeile?

Danke im erweiterten

es gibt keine solche Sache. Analysieren Sie die sys.argv Liste und wählen Sie die richtige Aktion. Überprüfen Sie argparse Modul
Wie erwähnt von S. Lott, <program> <subcommand> <command arguments> ist eine sehr häufige Stil. Es ist am besten für die Nutzer haben command-Namen, nicht die Kenntnis der internen Umsetzung. Und mit Klammern (die verlangen, dass die Flucht in die bash), als ein erforderlicher Teil Ihrer syntax ist nur meine.
Die Klammern waren nur als Beispiel Gründe, aber ich Schätze all die Hilfe, und habe es um die Arbeit mit sys.argv
sys.argv ist -- in der Regel -- eine schlechte Wahl. Beachten Sie, dass die Antworten alle ausdrücklich empfohlen, dies zu vermeiden.

InformationsquelleAutor knittledan | 2011-10-07

Schreibe einen Kommentar