【发布时间】:2018-01-22 14:34:13
【问题描述】:
我在使用 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)
当我尝试使用参数调用它时,我得到:
错误需要以下参数:i
无论传递什么参数。
【问题讨论】:
-
您在命令行中使用什么命令来执行脚本?脚本中的哪个函数
exp()或imp()曾经被调用过(似乎它们只是被定义的)? -
你试过两个参数吗?
python script.py arg1 arg2