ale*_*kva 13 python pep8 flake8 pycodestyle
我们正在尝试解决 PEP8 E402 的问题。
大多数情况下,我们的代码被破坏:
import os
os.environ['LIB_CAN_THROW_ERROR_ON_IMPORT'] = 2
import lib
os.environ['LIB_CAN_THROW_ERROR_ON_IMPORT'] = 0 # back
Run Code Online (Sandbox Code Playgroud)
——
if sys.version_info[0] > 2:
import python3lib
else:
import python2lib
Run Code Online (Sandbox Code Playgroud)
——
try:
import lib
except:
print('lib is required')
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)
如何解决这些违规行为?
Ada*_*nes 14
PEP8 中指定的指导方针就是——指导方针。当它们有意义时,它们是一套要遵循的规则。
E402 是指导入仅位于文件的顶部。这是为了停止以下行为:
import pygame
# 800 lines of pygame stuff
...
import math
# 10 lines of math stuff
...
# Another 800 pygame lines
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,很难知道math是进口的。如果你需要math在文件末尾再次使用,没有 E402 告诉你,你可能会import math再次使用,这是无害的,但马虎。
就你而言,你不是马虎。在导入另一个库或向用户提供更好的错误消息之前,您专门设置了一些内容。只需告诉你的 linter 忽略注释中建议的那些行上的警告,# noqa: E402在行的末尾。当您告诉 linter “我知道我在做什么,走开”时,您可以想到这一点。