我必须在Python中使用getopt
从命令行参数中读取文件,如果我保留-file
参数,那么我就无法切换可选参数顺序。
示例:
没有文件:
python apple.py -debug -help
,反之亦然(有效)
使用文件:
1)python apple.py **-file abc.txt -debug -help**
(它不起作用 - 我的要求)
2)python apple.py **-help -file apple.txt**
(作品)
3)python apple.py **-debug -file apple.txt**
(作品)
我希望这些选项能够独立运行 - 无论我通过-file
的任何顺序,它都应该读取文件。
我的代码实现如下(apple.py):
opts , args = getopt.getopt ( sys.argv[1:], "file help debug")
for opt , arg in opts:
if opt in ("-f"):
for line, lines in enumerate(fileinput.input(args)):
if line == 2:
print(lines)
elif opt in ("-h"):
print("it is just a help")
elif opt in ("-d"):
print ( "Debug is On" )
python apple.py -file abc.txt -debug -help
(没有工作)
python apple.py -file abc.txt -debug
(没有工作)
我不断收到错误消息:
找不到-debug的文件或目录