python - 如何在反斜杠后阻止 autopep 缩进行?
问题描述
autopep8 转换此代码
sum_of_two_numbers = first \
+ second
对此
sum_of_two_numbers = first \
+ second
它是一个错误吗?如果是这样,它是 pycodestyle 或 autopep8 中的错误吗?有没有我可以忽略的错误代码来防止这种行为?如果我忽略 E127 和 E128 它也会停止缩进所有其他情况。
我知道如果我使用方括号而不是反斜杠,它将正常工作,但是,有一个现有的存储库在某些我不想更改的地方使用反斜杠。
UPD。从 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 为你格式化项目。我不确定反斜杠的附件是什么,但这可能不是格式化你正在做的事情的最佳方式。
推荐阅读
- python-2.7 - 如何找出默认值是否用于 Datastore ndb 属性?
- ansible - 剧本中的 Ansible 嵌套变量
- node.js - 如何在 Dialogflow 实现中对 context.get 设置条件?
- sql - 聚合和连接 2 个表或子查询
- react-native - 有没有一种方法可以使用 Detox E2E 测试在 FlatList 中找到一个元素
- scala - 使用本地存储库并为其设置系统属性
- c - 如何立即将输入发送到 C 中的程序?
- java - 如何使用 KafkaTemplate 设置消息头?
- wpf - 用于 Azure 迁移的 MSIX Windows 10 应用程序访问被拒绝后 SSO 登录
- kubernetes-helm - 默认的 helm create chart 有什么作用?