如何解决E402的问题?
作者:互联网
我们正在尝试解决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
–
if sys.version_info[0] > 2:
import python3lib
else:
import python2lib
–
try:
import lib
except:
print('lib is required')
sys.exit(1)
如何解决这些违规行为?
解决方法:
PEP8中指定的准则仅是-准则.它们是有意义的一组规则.
E402表示导入仅位于文件的顶部.这是为了停止以下操作:
import pygame
# 800 lines of pygame stuff
...
import math
# 10 lines of math stuff
...
# Another 800 pygame lines
在上面的示例中,很难知道数学是导入的.如果您需要在文件末尾再次使用数学运算,而无需E402通知您,您可能会再次导入数学运算,这是无害的,但是草率.
就您而言,您并不草率.在导入另一个库之前,您要专门进行一些设置,或者向用户提供更好的错误消息.只需告诉您的短毛猫忽略注释中建议的那些行上的警告,并在行末添加#noqa:E402.当您告诉小孩子“我知道我在做什么,走开”时,您可以想到这一点.
标签:flake8,python,pep8,pycodestyle 来源: https://codeday.me/bug/20191011/1892776.html