问题描述
sum_of_two_numbers = first \
+ second
到这里
sum_of_two_numbers = first \
+ second
这是一个错误吗?如果是这样,它是 pycodestyle 还是 autopep8 中的错误?是否有任何我可以忽略的错误代码来防止这种行为?如果我忽略 E127 和 E128,它也会停止缩进所有其他情况。
我知道如果我使用方括号而不是反斜杠它会正常工作,但是,有一个现有存储库在我不想更改的某些地方使用反斜杠。
更新。添加来自 pep8 (https://www.python.org/dev/peps/pep-0008/#maximum-line-length)
的另一个示例反斜杠有时可能仍然合适。例如,长, 多个 with 语句不能使用隐式延续,所以 反斜杠是可以接受的:
with open('/path/to/some/file/you/want/to/read') as file_1,\
open('/path/to/some/file/being/written','w') as file_2:
file_2.write(file_1.read()) ```
autopep8 也没有正确对齐这个例子。
解决方法
据我所知,您不能在不禁用其他自动缩进的情况下仅禁用此功能。如果您正在运行 autopep8 这意味着您正在尝试遵循 pep8 准则,那么在示例的情况下,您应该真正使用隐含的延续(没有反斜杠,前一行的“+”,4 个空格缩进。)如果您正在使用autopep8 在一个项目上,你必须愿意让 autopep8 为你格式化项目。我不确定这里的反斜杠附件是什么,但这可能不是格式化您正在做的事情的最佳方式。