我认为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
答案 0 :(得分:1)
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
这看起来更好,但在更长的通用列表之后更容易忽略特定的导入。它还将通用和特定导入与同一个模块分开,IMO很糟糕:
import yaml
from xtesting.core import testcase
from yaml import safe_load