0

我应该在 python 中使用 argparse 进行文件操作吗?所有在线示例都是关于命令行参数本身的简单操作。更具体地说,我有 3 个特定的文件操作任务,我们称它们为 a、b 和 c。例如,运行

python -i input.csv -a -b

应该在 input.csv 上运行任务 a 和 b。

如果 argparse 确实合适,我应该怎么做呢?我目前的计划是为每个任务定义一个自定义操作,以使代码更具可扩展性和可重用性。有什么建议么?

4

1 回答 1

2

是的,您可以完美地将 argparse 与文件名一起使用。例如:

parser = argparse.ArgumentParser()
parser.add_argument("-i", type=str, help="...")
parser.add_argument('-a', dest='task_a', action='store_true', help="...")
parser.add_argument('-b', dest='task_b', action='store_true', help="...")

parser.set_defaults(task_a=False)   
parser.set_defaults(task_b=False)

args = parser.parse_args()

file_name = args.i
# or file_name = os.path.expanduser(args.i)

if os.path.isfile(file_name):
    file = open(file_name, 'rb')
    # and now do whatever you need to do with the file
    if args.task_a:
        ...
    if args.task_b:
        ...

    file.close()
于 2015-01-04T16:41:48.113 回答