Python中导入子文件夹中的模块

来源:互联网 发布:职业测评软件 编辑:程序博客网 时间:2024/04/30 03:17

【问题】

之前导入另外一个Python模块,包括自己的模块,都是直接通过 import 模块文件名,即可实现导入。

后来想要把多个子模块都放到当前文件夹下面的某个子文件夹中,但是却不知道如何导入了。

【解决过程】

1.通过类似于

import subFolder/subModule

是无法导入的,因为不支持这种写法。

2.后来看到python怎么import指定文件夹下的模块,才知道,原来可以通过把对应路径加入到os的path中即可。

3.后来就去将自己的BlogsToWordpress中的众多博客的模块py文件都移至到一个子文件夹libs/blogModules中了:

libs中有:

crifanLib.py
BeautifulSoup.py

libs/blogModules中有:

BlogNetease.py
BlogBaidu.py
BlogSina.py
BlogQQ.py
BlogRenren.py
BlogCsdn.py
BlogSohu.py
BlogBlogbus.py

这样,对应代码本来是:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import os;
import re;
import sys;
import math;
......
 
import crifanLib;
 
import BlogNetease;
import BlogBaidu;
import BlogSina;
import BlogQQ;
import BlogRenren;
import BlogCsdn;
import BlogSohu;
import BlogBlogbus;

改为对应的:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import os;
import re;
import sys;
sys.path.append("libs");
sys.path.append("libs/blogModules");
import math;
......
 
import crifanLib;
 
import BlogNetease;
import BlogBaidu;
import BlogSina;
import BlogQQ;
import BlogRenren;
import BlogCsdn;
import BlogSohu;
import BlogBlogbus;

就可以实现将各个子模块BlogBaidu,BlogNetease等都正常导入了。

【总结】

1.如果第三方库,和当前python脚本都在同一个文件夹下面,那么直接通过 import xxx,即可导入,即可使用第三方库。

2. 如果第三方库,在别的路径下,比如此处在子文件夹下,那么可以通过将其路径添加到os.path中方法:

sys.path.append(文件夹路径);

实现让python可以找到对应的库,实现可以导入并使用第三方库的目的。

3. 需要注意一点的是,需要自己保证导入的各个模块之间,以及和系统模块之间,没有出现重名的模块,就行了。

原创粉丝点击