gesetzt Ich bin ein Terminal-Emulator in Python machen 3. Die Befehle in Funktionen gespeichert werden, wie:Wie eine Funktion mit weniger Argumente nennen, die (Python 3)
def rd(os_vartmp, os_vartmp2):
if os_vartmp == None:
print('rd [path] [-S]')
print('Delete a folder')
else:
if os.path.isfile(os_vartmp) == True:
if os_vartmp2 == '-S': print('a')
else:
print(ERR5)
a = input('Command: ')
Das Terminal funktioniert wie folgt :
- fordert Benutzer zur Eingabe
- Splits der Eingang
- Eingangs Verwendet den ersten Teil einer Funktion in Einheimischen suchen
- Wenn es einen gibt, benutzt den Rest Teil der Eingabe als Argument
- die Funktionsaufrufe
Die Sache hier ist, wenn ich die Funktion ‚rd‘ nennen mit zum Beispiel ‚rd„boot.py "-S" es funktioniert gut. Aber wenn ich es so nennen muss: rd "boot.py", wirft es mir einen Fehler über 1 Argument, wenn 2 benötigt werden. Gibt es dafür eine Lösung?
Lassen Sie die Funktion eine beliebige Anzahl von Parametern akzeptieren mit ['def rd (os_vartmp, * args)]] (http://stackoverflow.com/questions/36901/what-does-double-star-and-star- do-for-python-Parameter) – TessellatingHeckler