在Python中,字符串可以替换为换行符,因此我经常会遇到我无法想到的错误。例如:
numbers = (
'zero',
'one',
'two'
'three',
'four',
'five',
)
为了避免这个难题,我想在将源代码提交到存储库之前检查我想要使用Git Hook提交的源代码是否存在问题。但是因为您可能真的想要组合字符串,我想强制源代码在每个字符串的末尾都有逗号,或者在每个字符串的末尾都没有逗号。例如:
# ok
numbers = (
'zero'
'one'
'two'
'three'
'four'
'five'
)
# ok
numbers = (
'zero',
'one',
'two',
'three',
'four',
'five',
)
# error
numbers = (
'zero',
'one',
'two',
'three',
'four',
'five'
)
所以我检查了AST模块,看看AST模块是否可以检测到它。结果:
>>> import ast
>>> ast.dump(ast.parse("('1'\n'2')"))
"Module(body=[Expr(value=Str(s='12'))])"
有一个很好的解决方案吗?
答案 0 :(得分:-1)
您正在使用元组,可能使用不同的结构(例如方括号(列表)或有序集)将为您提供所需的内容。如果我正确地记住了tupling / untupling规则你所看到的是将6元素元组解包为1元素变量的效果 - python必须用额外的5个值做一些事情并且选择连接作为标准行为