最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】Python中导入子文件夹中的模块

Python crifan 9710浏览 0评论

【问题】

之前导入另外一个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

这样,对应代码本来是:

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;

改为对应的:

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

转载请注明:在路上 » 【已解决】Python中导入子文件夹中的模块

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.203 seconds, using 22.09MB memory