其他分享
首页 > 其他分享> > 如何解决E402的问题?

如何解决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