Python出现E501错误:行太长。

6
在尝试输入我的API密钥时,Python给出了一行过长的代码。
E501: line too long

我所拥有的是

notifications_client = NotificationsAPIClient(aaaaaaa_aaaaaaaa-11aa1a1a-aa11-111a-aaaa-11111aaa1a1a-aa11a1a1-0aa1-11a1-1111-1aa111a0a111)

由于某些明显的原因,我已将API密钥更改为仅包含a、1和0,但我该如何拆分这行代码,以便不再出现此错误?


4
Python本身不会产生那种错误。看起来你正在使用某种代码检查工具或风格检查器? - larsks
我目前正在使用Codenvy开始编写Python的API集成,但到目前为止它一直是一场噩梦。在同一行代码中,它也给了我一个语法错误,我也不理解。 - Frank Valdez
可能是Pep8 E501:行太长错误的重复问题。 - LeKhan9
4个回答

10

E501是一个linter错误,不是Python解释器错误。理论上,您的代码应该可以正常工作。如果您想要避免此错误,只需将值分解(假设它是一个字符串...您没有明确说明):

my_key = ('aaaaaaa_aaaaaaaa-11aa1a1a-aa11-111a-aaaa-'
          '11111aaa1a1a-aa11a1a1-0aa1-11a1-1111-'
          '1aa111a0a111')
notifications_client = NotificationsAPIClient(my_key)

2

E501不是Python错误,而是PEP8错误。这意味着你的代码行超过了80个字符(在你的情况下是137个字符)。

你的编辑器或运行时通过PEP8规则验证你的代码是否正确,这就是为什么你会收到这个“错误”提示。实际上,你的Python代码根本没有错误。

如果你想让你的代码符合PEP8标准,我建议:

  1. 将API密钥提取到一个本地变量中。
  2. 如果仍然太长,可以将字符串拆分成多行。

这里有一个例子:

API_KEY = 'aaaaaaa_aaaaaaaa-11aa1a1a-aa11-111a' \ 
          '-aaaa-11111aaa1a1a-aa11a1a1-0aa1-' \
          '11a1-1111-1aa111a0a111'
notifications_client = NotificationsAPIClient(API_KEY)

一些代码检查工具可能会抱怨在此处使用反斜杠。 - joctee

0

使用 \ 来换行。例如: notifications_client = NotificationsAPIClient(aaaaaaa_aaaaaaaa-11aa1a1a-\ aa11-111a-aaaa-11111aaa1a1a-\ aa11a1a1-0aa1-11a1-1111-1aa111a0a111)


-1

不涉及打破字符串字面值的选项:

notifications_client = NotificationsAPIClient(
    "kkkkkkkkkkkkkeeeeeeeeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyyyyyyyyyyy"
)

只要你的键小于73个字符(减去缩进),就可以了。如果不是,你就必须将它分开。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接