如何使用argparse模块在python脚本中传递文件作为参数?

时间:2016-03-23 00:23:51

标签: python argparse

我正在使用argparse模块在python中编写自动化脚本,其中我想使用-s作为选项,它将文件/文件路径作为参数。有人可以帮我这么做吗?

示例:./ argtest.py -s /home/test/hello.txt

2 个答案:

答案 0 :(得分:1)

这样做:

import argparse

parser = argparse.ArgumentParser(description="My program!", formatter_class=argparse.RawTextHelpFormatter)
parser.add_argument("-s", type=argparse.FileType('r'), help="Filename to be passed")
args = vars(parser.parse_args())

open_file = args.s

如果您要打开文件进行撰写,只需将r更改为w中的type=argparse.FileType('r')即可。您也可以将其更改为ar+w+等。

答案 1 :(得分:0)

您可以使用

import argparse

parse = argparse.ArgumentParser()
parse.add_argument("-s")
args = parse.parse_args()
# print argument of -s
print('argument: ',args.s)

假设上述代码存储在文件example.py

$ python example.py -s /home/test/hello.txt
argument: /home/test/hello.txt

您可以点击here(Python3.x)或here(Python2.x)了解详情。