2017-10-20 1 views
1

Ich habe folgende Ordner und Dateien:Passing Befehlszeilenargumente aus einem Ordner Skript in eine Datei Skript

script_folder 
|__ __main__.py 
|__ script1.py 
|__ script2.py 

Die Datei __main__.py ermöglicht den Ordner als Skript ausgeführt wird, so kann ich so etwas tun: python3 script_folder. Außerdem sind script1.py und script.py Skripts mit jeweils unterschiedlichen Befehlszeilenargumenten. Mein Ziel ist es, den Ordner Skript als solche in der Lage sein zu laufen:

python3 script_folder script1 --normalize -o output.txt 

, wo das Positionsargument (script1) folder_scriptscript1.py und die Optionen --noramlize und -o sind spezifische Optionen für script1.py laufen erzählt. Was ist der beste Weg, um das korrekte Skript auszuführen und die Befehlszeilenargumente an das richtige Dateiskript von __main__.py Ordnerscript übergeben?

Hinweis: Ich verwende argparse, um die Argumente in jedem Dateiskript zu analysieren.

Antwort

2

Nicht. Rufen Sie das Skript direkt auf (nachdem Sie ein Paket script_folder gemacht haben, falls erforderlich).

python3 -m script_folder.script1 --normalize -o output.txt 
+0

Danke, genau was ich brauchte, ich wusste, dass ich etwas vermisse! Viel einfacher als ich dachte. –

Verwandte Themen