我想使用这样的程序:
python myprg.py -f1 t1.txt -f2 t.csv
其中f1,f2是文件名。
我有以下代码:
from optparse import OptionParser
def main():
optparser = OptionParser()
optparser.add_option('-f1', '--inputFile1',
dest='input1',
help='file to be checked',
default=None)
optparser.add_option('-f2', '--inputFile2',
dest='input2',
help='basis csv file',
default='defaut.csv')
....
....
我在文档中读到-f读取FILE类型,但如果我将-f放在两者中,则会出现冲突错误。
有关如何进行的任何建议?
谢谢!
答案 0 :(得分:3)
根据documentation,optparse不支持带有单个连字符( - )的多个字母。
世界上看到的一些选项语法包括:
- 连字符后跟几个字母,例如-pf(这与合并为单个参数的多个选项不同)
- 一个连字符后跟一个完整的单词,例如-file(这在技术上等同于以前的语法,但它们通常不会出现在 同一个程序)
- 一个加号后跟一个字母,或几个字母,或一个单词,例如+ f,+ rgb
- 斜线后跟一个字母,或几个字母或一个单词,例如/ f,/ file
optparse不支持这些选项语法,但它们从不 将是。
您应该将-f1
之类的选项键更改为-a
,将-f2
更改为-b
。
python myprg.py -a t1.txt -b t.csv
optparser.add_option('-a', '--inputFile1',
dest='input1',
help='file to be checked',
default=None)
optparser.add_option('-b', '--inputFile2',
dest='input2',
help='basis csv file',
default='defaut.csv')