我认为Python中导入的正确顺序是问题的第一个答案所描述的顺序: What's the correct way to sort Python `import x` and `from x import y` statements?
因此,这段代码应该是正确的:
import os
import time
import yaml
from collections import OrderedDict
from xtesting.core import testcase
但是,当我运行 Pylint 时,我得到:
C: 5, 0: standard import "from collections import OrderedDict" should be placed before "import yaml" (wrong-import-order)
所以我猜“yaml”不是标准库。那么正确的方法应该是这个(即使它更难看并且可读性较差)吗?
import os
import time
from collections import OrderedDict
import yaml
from xtesting.core import testcase
最佳答案
PyYAML 不是标准 Python 库的一部分,从标准库导入,无论是通用的 (import os
) 还是特定的 (from collections import OrderedDict
) 都应该放在第一位.
IMO,您应该按字典顺序对各部分中的模块名称进行排序,并用空行分隔各部分:
from collections import OrderedDict
import os
import time
from xtesting.core import testcase
import yaml
有些人希望在每个部分中将通用的全部放在第一位:
import os
import time
from collections import OrderedDict
import yaml
from xtesting.core import testcase
这看起来更好,但在长通用列表之后更容易忽略特定的导入。它还将通用和特定导入与同一个模块分开,在我看来,这很糟糕:
import yaml
from xtesting.core import testcase
from yaml import safe_load
关于python - Pylint 在以正确的顺序导入时提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50630822/