在我的Python实用程序中,我经常需要使用os.path
,而我已经达成的约定是将其导入为:
import os.path as fs
fs
是“文件系统”的缩写。
我现在正在编写一个实用程序,我还需要os
中的一个方法。我尝试了一个快速测试,将其作为两个独立的“重叠”导入,即
import os
import os.path as fs
[...some code referencing both os and fs...]
从功能上来说这很好用,但我想就这种“重叠”导入是否是不良做法提出一些建议。是否最好跳过我惯常的约定,仅导入os
,并在需要时使用os.path
而不是fs
?
答案 0 :(得分:3)
import a.b.c
导入a
,a.b
,a.b.c
模块并定义a
名称,即
import a
import a.b.c
最后导入相同的模块。为了便于阅读,如果您的代码使用它,则应明确import a
(删除import a.b.c
不应影响仅使用a
的代码,即:
import os
import os.path
如果您的代码同时使用os
和os.path
,那么就可以了。第二次导入在技术上不是必需的:os
模块不是包(hasattr(os, "__path__") == False
);你可以使用:
import os
fs = os.path