python如何导入自己的模块
作者:Aamax 发布时间:2022-05-21 08:14:57
如何导入自己的模块
在实际的编程生活当中,我们除了会去import已经存在的包外,当然还会偶尔自定义一些模块,然后来导入,其实一般而言,自定义的模块也就是一系列的脚本,具体的,自己写好了脚本,然后导入,导入的情况分为以下情况:
1.自定义模块与所需要调用自定义模块的文件在同一文件夹下
这时的调用就较为简单了,直接导入即可
比如说我想要在learnpandas中导入m1.py,只需要在learnpandas脚本开头声明import m1.py即可
2.自定义模块与所需要调用自定义模块的文件不在同一文件夹下
其实这个的话,如果不怕麻烦的话可以用1中的方法,把需要导入的文件一个一个手动拖到当前文件夹中,,,当然这个方法时比较复杂的,尤其是要导入的文件较多的时候,,,,
这个时候有一个更聪明的方法
假设下图是我们需要导入的文件目录
在这种情况下,我们在folder中新建一个__init__.py文件,此时的folder不再是一个普通的文件夹,而是一个包 package
在这个时候,想导入哪一个文件的话就只需在文件开头import folder.filename即可(记得要先将自定义库路径添加到Python的库路径中)
3.找到本地库的路径
然后将文件拷进去即可
4.手动给python添加搜索路径
具体做法是:
在python安装目录的\Lib\site-packages文件夹中建立一个.pth文件,内容为自己写的库绝对路径
- - - - - - - - - - - - - - - - - 分割线- - - - - - - - - - - - - - - - -
将自定义库的路径添加到Python的库路径中去,有如下两种方法:
1. 动态的添加库路径。在程序运行过程中修改sys.path的值,添加自己的库路径
import sys
sys.path.append(r'your_path')
2. 在Python安装目录下的\Lib\site-packages文件夹中建立一个.pth文件,内容为自己写的库路径。
示例如下
E:\\work\\Python\\http
E:\\work\\Python\\logging
- - - - - - - - - - - - - - - - - 分割线- - - - - - - - - - - - - - - - -
在这里说一句Python的包搜索路径:
Python会在以下路径中搜索它想要寻找的模块:
1. 程序所在的文件夹
2. 标准库的安装路径
3. 操作系统环境变量PYTHONPATH所包含的路径
导入本地模块报错的问题
很多时候,我们在写一个python项目时,都会分模块来写,在一个模块中导入自己写的另一个模块,最后在写一个启动程序,但运行启动程序时往往会报错说找不到你写的模块,对此,这里教大家一种通用且正规的python项目组织结构,基本都能解决这种找不到本地模块的问题。
以下图为例说明
首先是创建一个项目文件夹:myproject ,这里面包括启动文件start.py、README.md文件以及你的项目文件myproject文件夹。这就是基本的项目结构。
这样你就能在myproject文件夹里面的py文件里使用相对路径导入其他文件夹下的模块了。
其实,Scrapy项目的目录结构也大致是这样的,大家可以看看创建scrapy项目时的目录结构。
mytask.py
这里就很方便使用 “.” 和 “..” 来表示当前路径和上一级路径了start.py
这里要注意,启动文件start.py中不能使用".“和”.."等来导入本地模块,因为主模块(启动文件)不能使用相对导入。
最后,只要在命令行输入python start.py就可以运行程序了。
来源:https://blog.csdn.net/bai_and_hao_1314/article/details/84498231
猜你喜欢
- 一、图片验证码django-simple-captcha配置1.在pycharm中,File====》Settings====》Projec
- //设置已存在表中字段为auto_incrementALTER TABLE tablename change id id int(2) no
- python和PHP相比较,python适合做爬虫。原因如下抓取网页本身的接口相比与其他静态编程语言,如java,c#,C++,python
- 1.去官网下载PyGame 注意:要下载对应版本的包 官网地址:http://www.pyg
- 用例子说明fruit = ['pineapple','grape','pear']fruit
- 本文实例展示了PHP实现的格鲁斯卡尔算法(kruscal)的实现方法,分享给大家供大家参考。相信对于大家的PHP程序设计有一定的借鉴价值。具
- 下表列出 SQL Server 查询分析器提供的所有键盘快捷方式。活动 快捷方式 书签:清除所有书签。 CTRL-SHIFT-F2
- 更改主题File → Settings → Appearance & Behavior → Appearance → Theme结果
- 设计方法曾经是个很尴尬的话题,因为经常看上去很美。专业人士们动手动脚折腾一大圈,出来的结果令人大跌眼镜。也有些设计师总喜欢把方法、概念吹的特
- 目录简介Spare data的例子SparseArraySparseDtypeSparse的属性Sparse的计算SparseSeries
- 本文实例讲述了Python 多线程,threading模块,创建子线程的两种方式。分享给大家供大家参考,具体如下:GIL(全局解释器锁)是C
- 背景开工前我就觉得有什么不太对劲,感觉要背锅。这可不,上班第三天就捅锅了。我们有个了不起的后台程序,可以动态加载模块,并以线程方式运行,通过
- 本文实例为大家分享了python实现银行实战系统的具体代码,供大家参考,具体内容如下先附上源代码:│ admin.py  
- 但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能。 下面是具体的做法: 一:跳
- 做设计的时候,如何配色是经常让人头痛的问题,尽管很多时候,很多人都说对于色彩的掌握更多的是靠感觉,但是不得不说,感觉也是要有依据的。所以颜色
- 测试环境为Windows 10 系统,Python3.7,转换需要提前安装pydub、ffmpeg,安装和加入环境变量配置方法自行解决,至于
- 举几个例子来介绍一下,Python 的 CSV模块的使用方法,包括,reader, writer, DictReader, DictWrit
- 创建类Python 类使用 class 关键字来创建。简单的类的声明可以是关键字后紧跟类名:class ClassName(bases):&
- 本文实例讲述了PHP采集静态页面并把页面css,img,js保存的方法。分享给大家供大家参考。具体分析如下:这是一个可以获取网页的html代
- <script language="javascript">function chang