Ich habe Probleme beim Aufrufen von Funktionen von der Befehlszeile mit argparse. Ich möchte nur, dass es eine der im Skript definierten Funktionen ausführt.Problem beim Aufrufen von Funktionen mit argparse
import os
import shutil
import getpass
import argparse
user = getpass.getuser()
copyfolders = ['Favorites']
parser = argparse.ArgumentParser()
parser.add_argument('e', action='store')
parser.add_argument('i', action='store')
args = parser.parse_args()
def exp(args):
for folder in copyfolders:
c_path = os.path.join("C:", "/", "Users", user, folder)
l_path = os.path.join("L:", "/", "backup", folder)
shutil.copytree(c_path, l_path)
def imp(args):
for folder in copyfolders:
l_path = os.path.join("L:", "/", "backup", folder)
c_path = os.path.join("C:", "/", "Users", user, folder)
shutil.copytree(l_path, c_path)
Wenn ich versuche, es mit einem Argument zu nennen ich:
Fehler die Folge Argumente erforderlich sind: i
Egal, was Argument übergeben wird.
Welchen Befehl verwenden Sie über die Befehlszeile, um das Skript auszuführen? Wo im Skript werden die Funktionen 'exp()' oder 'imp()' jemals aufgerufen (es scheint, dass sie nur definiert sind)? – gobrewers14
Haben Sie es mit zwei Argumenten versucht? 'Python script.py arg1 arg2' – user3080953