参数解析期间出现Python断言错误

参数解析期间出现Python断言错误,python,arguments,assertion,Python,Arguments,Assertion,我正在移植一个现有的脚本,它在我同事的计算机上运行得非常好,它在参数中获得一个.elf文件,并从中生成一个.vbf。这让我难以置信,因为所有其他脚本在我的电脑上都运行得很好。我使用Python2.7.15运行它 vbf_builder_1_21_2.py--asw D:\tmp\FC8R009T4D3-20180523-182234.elf Traceback (most recent call last): File "D:/Bence/Python/Ford/pupp_package/F

我正在移植一个现有的脚本,它在我同事的计算机上运行得非常好,它在参数中获得一个.elf文件,并从中生成一个.vbf。这让我难以置信,因为所有其他脚本在我的电脑上都运行得很好。我使用Python2.7.15运行它

vbf_builder_1_21_2.py--asw D:\tmp\FC8R009T4D3-20180523-182234.elf

Traceback (most recent call last):
  File "D:/Bence/Python/Ford/pupp_package/Ford_FC8_VBFbuilder/vbf_builder_1_21_2.py", line 1296, in <module>
    CustomerBuildScript().print_step("Get environment information")
  File "D:/Bence/Python/Ford/pupp_package/Ford_FC8_VBFbuilder/vbf_builder_1_21_2.py", line 482, in __init__
    self.initialize()
  File "D:\Bence\Python\Ford\pupp_package\Ford_FC8_VBFbuilder\BuildScriptBase.py", line 26, in initialize
    self.parseArguments()
  File "D:\Bence\Python\Ford\pupp_package\Ford_FC8_VBFbuilder\BuildScriptBase.py", line 80, in parseArguments
    self.args = parser.parse_args()
  File "C:\Python27\lib\argparse.py", line 1701, in parse_args
    args, argv = self.parse_known_args(args, namespace)
  File "C:\Python27\lib\argparse.py", line 1733, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File "C:\Python27\lib\argparse.py", line 1957, in _parse_known_args
    self.error(_('argument %s is required') % name)
  File "C:\Python27\lib\argparse.py", line 2373, in error
    self.print_usage(_sys.stderr)
  File "C:\Python27\lib\argparse.py", line 2335, in print_usage
    self._print_message(self.format_usage(), file)
  File "C:\Python27\lib\argparse.py", line 2291, in format_usage
    return formatter.format_help()
  File "C:\Python27\lib\argparse.py", line 281, in format_help
    help = self._root_section.format_help()
  File "C:\Python27\lib\argparse.py", line 211, in format_help
    func(*args)
  File "C:\Python27\lib\argparse.py", line 332, in _format_usage
    assert ' '.join(opt_parts) == opt_usage
AssertionError

Process finished with exit code 1
回溯(最近一次呼叫最后一次):
文件“D:/Bence/Python/Ford/pup_package/Ford_FC8_VBFbuilder/vbf_builder_1_21_2.py”,第1296行,在
CustomerBuildScript().打印步骤(“获取环境信息”)
文件“D:/Bence/Python/Ford/pup_package/Ford_FC8_VBFbuilder/vbf_builder_1_21_2.py”,第482行,在__
self.initialize()
文件“D:\Bence\Python\Ford\pup\u package\Ford\u FC8\u VBFbuilder\BuildScriptBase.py”,第26行,在初始化中
self.parseArguments()
文件“D:\Bence\Python\Ford\pup\u package\Ford\u FC8\u VBFbuilder\BuildScriptBase.py”,第80行,在parseArguments中
self.args=parser.parse_args()
parse_args中的文件“C:\Python27\lib\argparse.py”,第1701行
args,argv=self.parse\u known\u args(args,名称空间)
文件“C:\Python27\lib\argparse.py”,第1733行,位于parse\u known\u args中
名称空间,args=self.\u解析\u已知\u args(args,名称空间)
文件“C:\Python27\lib\argparse.py”,第1957行,在已知参数中
self.error(389;('参数%s是必需的')%name)
文件“C:\Python27\lib\argparse.py”第2373行出错
自我打印使用(_sys.stderr)
文件“C:\Python27\lib\argparse.py”,第2335行,打印使用
self.\u打印消息(self.format\u用法(),文件)
文件“C:\Python27\lib\argparse.py”,第2291行,格式为
返回格式化程序。格式化\u帮助()
文件“C:\Python27\lib\argparse.py”,第281行,格式为\u help
help=self.\u root\u section.format\u help()
文件“C:\Python27\lib\argparse.py”,第211行,格式为\u help
func(*args)
文件“C:\Python27\lib\argparse.py”,第332行,格式为
断言“”。连接(opt_部分)=opt_用法
断言错误
进程已完成,退出代码为1
我已经读到,错误通常发生在有一个长代码被切碎,它包含方括号,它是固定的,但它仍然弹出

编辑:意识到问题所在

上一次编辑脚本的同事希望使脚本看起来整洁,因此他以某种方式对齐参数列表声明,以便逗号位于彼此下方。在一个参数中,他意外地将空格放在名称的内部而不是外部。当argumentparser将原始字符串切碎为参数时,这个空格字符使其混乱不堪


当你在粉饰你的代码时,确保在将其传递给其他人之前再次进行测试。

意识到问题所在

上一次编辑脚本的同事希望使脚本看起来整洁,因此他以某种方式对齐参数列表声明,以便逗号位于彼此下方。在一个参数中,他意外地将空格放在名称的内部而不是外部。当argumentparser将原始字符串切碎为参数时,这个空格字符使其混乱不堪


在对代码进行糖化处理时,请确保在将其传递给其他人之前再次进行测试。

您可以分享导致错误的代码吗?