简体   繁体   中英

how to pass file as argument in python script using argparse module?

I am writing an automation script in python using argparse module in which I want to use the -s as an option which takes file/file path as an argument. Can somebody help me to do this?

Example: ./argtest.py -s /home/test/hello.txt

Just do this:

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

If you want to open the file for writing, just change r to w in type=argparse.FileType('r') . You could also change it to a , r+ , w+ , etc.

You can use

import argparse

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

Suppose the above code is stored in the file example.py

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

You can click here (Python3.x) or here (Python2.x) to learn more.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM