python如何导⼊⾃⼰的模块
⽬录
如何导⼊⾃⼰的模块
1.⾃定义模块与所需要调⽤⾃定义模块的⽂件在同⼀⽂件夹下
2.⾃定义模块与所需要调⽤⾃定义模块的⽂件不在同⼀⽂件夹下
3.到本地库的路径
4.⼿动给python添加搜索路径
导⼊本地模块报错的问题
以下图为例说明
如何导⼊⾃⼰的模块
在实际的编程⽣活当中,我们除了会去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默认安装路径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就可以运⾏程序了。
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论