2017-06-29 6 views
0

Ich bin neu in der Python-Programmierung, aber grundsätzlich möchte ich ein Skript haben, wo, wenn ein Dateipfad von der Befehlszeile (die Datei ist eine .csv-Datei), das Skript diese Datei und macht es in eine Liste.Wie lese ich ein Befehlszeilenargument von Python?

Code Ich habe für dieses Problem gesehen in der Regel nicht die Datei von der Befehlszeile, sondern es hat nur den genauen Dateinamen im Code. Ich möchte diesen Code für viele verschiedene Dateien verwenden, daher ist es schwierig, den Dateinamen in das Programm zu schreiben.

+0

Diese Frage sollte alles haben, was Sie brauchen: https://stackoverflow.com/questions/1009860/command-line-arguments-in-python. Für ein sehr einfaches Skript können Sie die sys.argv-bezogene Antwort sehen und dann auf argparse aufleveln, was auf lange Sicht nützlich sein wird. – kristaps

Antwort

2

Die einzige Änderung, die Sie an den Code vornehmen müssen, die Sie bereits gefunden haben, ist dies:

import sys 
filepath = sys.argv[1] 
... # process file 

Und jetzt, können Sie Ihr Skript wie folgt aufrufen: ./script.py /path/to/file.

sys.argv wird verwendet, um Befehlszeilenargumente zu lesen. Optionale Befehle beginnen mit dem Index 1, weil argv[0] den Namen Ihres Skripts speichert (script.py).

Verwandte Themen