PEP8指示您将导入内容放在代码的顶部,这允许 读者可以看到您要在一处导入的内容。
但是,如果您有本地的功能库以导入功能,则必须先更改当前目录。
如果您尝试更改目录,则会收到PEP8违规信息,因为您的导入并非全部集中在一个地方
import sys
import pandas as pd
sys.path.insert(0, r'local\path')
from local_functions import function_1
我了解“愚蠢的一致性是小思想的霍布布林”,而且如果我必须处理PEP8违规行为,那就可以了。
我只是想象有一个实际的解决方案,因为很多人必须编写函数并将其导入。
是否有一种方法可以导入本地存储的函数,而不会造成PEP8违规?
编辑: 如此处所述: https://stackoverflow.com/a/53832780/9936329
# noinspection PyUnresolvedReferences
from local_functions import function_1 # noqa: E402
请注意,您有意破坏PEP8,也不检查未解决的引用。
答案 0 :(得分:1)
这取决于具体情况,但是如果只是为了满足要求,您可以将导入内容放在try / except块中吗?
import sys
import pandas as pd
try:
from local_functions import function_1
except ModuleNotFoundError:
sys.path.insert(0, r'local\path')
from local_functions import function_1
或者,您可以使用相对或绝对导入,给出模块相对于项目文件夹的位置,或HD上的绝对路径。