import getopt import sys r""" getopt.getopt(sys.argv[1:], "hf:", ["help", "file="]) sys.argv[1:]:这是要解析的命令行参数列表。sys.argv 是一个包含命令行参数的列表,其中 sys.argv[0] 是脚本名称,sys.argv[1:] 则是脚本后面的所有参数。 例如,如果命令行输入是 script.py -f example.txt,那么 sys.argv 为 ['script.py', '-f', 'example.txt'],sys.argv[1:] 则为 ['-f', 'example.txt']。 "hf:":这是短选项字符串。每个字符代表一个短选项,如果选项后面跟一个冒号 :,表示该选项需要一个参数。在这个例子中: -h:表示一个不需要参数的选项。 -f:表示一个需要参数的选项。 ["help", "file="]:这是长选项列表。每个元素是一个字符串,表示一个长选项。如果选项后面跟一个等号 =,表示该选项需要一个参数。在这个例子中: help:表示一个不需要参数的长选项。 file=:表示一个需要参数的长选项。 返回值 getopt.getopt 函数返回一个元组 (opts, args): opts:是一个列表,每个元素是一个 (option, value) 形式的元组,表示选项和对应的值。例如: 如果命令行输入是 script.py -h,那么 opts 为 [('-h', '')]。 如果命令行输入是 script.py -f example.txt,那么 opts 为 [('-f', 'example.txt')]。 如果命令行输入是 script.py --file example.txt,那么 opts 为 [('--file', 'example.txt')]。 args:是一个列表,包含那些不是选项的剩余命令行参数。例如: 如果命令行输入是 script.py -f example.txt extra1 extra2,那么 args 为 ['extra1', 'extra2']。 """ def main(): try: opts,args = getopt.getopt(sys.argv[1:],"hf:",["help","file="]) except getopt.GetoptError as err: print("error:",err) exit(0) for opt,arg in opts: if opt in ("-h","--help"): print(f"Usage:{sys.argv[0]} [options]") print("Options:") print(" -h, --help show this help message and exit") print(" -f, --file <filename> specify the filename") exit(0) elif opt in ("-f","--file"): print(f"Filename:{arg}") exit(0) print("Remaining arguments:",args) if __name__ == '__main__': main()
标签:选项,sys,file,argv,77,命令行,getopt,txt From: https://www.cnblogs.com/chenzhi2023/p/18683918