网站首页 > 基础教程 正文
上次和大家探讨了模块化编程、模块定义和模块测试等东东后,相信大家对于Python的模块化编程思维有了全面的了解了哦,好啦,在你学会了如何编写一个Python模块,也会用import或者from...import来导入模块后,你是否认为已经完全掌握了呢?当然不是啦!因为Python是通常不能加载这个模块滴,因为呀,Python它怎么能知道该去哪里找寻这个模块呢,对不对!
好了,废话少说,下面就和大家探讨一下模块的加载吧,希望大家能够感兴趣哦!
其实呢,咱们如果想让Python找到咱们所编写的模块或者第三方想用的模块,你就需要用下面的两种方法来告诉Python哦:
方法一就是你可以使用环境变量哦;方法二呢就更直接啦,你可以把模块放在默认的模块所加载的路径下呀。
下面就分别详细说一下吧!
方法一:使用环境变量加载模块
环境变量相信大家比较清楚哦,为了能够让大家更清楚,我就稍微啰嗦一下吧,还是惯例,举个“栗子”:
比如我打开“cmd”窗口,直接敲“python”,会出现什么呢?请看下图:
这时会显示俺的电脑上所安装的Python版本信息,到这里大家可能也在自己的电脑上的“cmd”窗口敲了一个“python”,但是呢,有可能并木有显示python版本的信息哦,显示是未知或非法的指令,那这是什么鬼呢?这就是俺要告诉大家的“环境变量”的概念,如果敲击“python”后能够正常显示版本信息就证明了你电脑上已经设置了python解释器所在路径的环境变量了哦,不信就请看俺的电脑中的环境变量吧,如下图所示哦:
可以看到在环境变量中的Path变量中设置了Python解释器所在的路径了哦,所以如果你敲“python”指令,你的电脑就会根据你所设置的环境变量的位置去搜寻所敲的指令哦。
好啦,给大家说明白了环境变量的概念后,下面我们就用环境变量的方式来加载Python模块吧。
首先呢,你需要打开上图所示的环境变量页面,然后在环境变量页面的“用户变量”下单击“新建”按钮(当然啦,你也可以在系统变量下面设置哦,区别就是如果你所设置的这个电脑是共用的话,在系统变量设置也会改变另一个账户的环境变量设置哦,所以还是建议大家在用户变量下设置环境变量哦),如下图:
然后在弹出的窗口中的“变量名”文本框输入“PythonPath”(当然也可以你自己自定义的名哦),在“变量值”文本框输入你要加载的模块路径哦,比如输入.;D:\my_pymodule,这是嘛意思呢?它的意思就是说你要建立一个名为PythonPath的环境变量,它滴路径是.;D:\my_pymodule。
到这你可能会注意到哦,为啥D前面还有个点和分号呢?这是因为俺实际在这设置了两个路径哦,分号就是两个路径的分隔哦,那个点.滴意思是代表当前路径哦,这样当你运行你的Python程序时,Python解释器这家伙就总能从当前这个路径来加载模块啦,第二路径就是D:\my_pymodule,这又表明当你运行程序时,Python解释器也总能在D:\my_pymodule路径加载模块哦。
好啦,下面就为大家举个“栗子”来加深了解一下吧!
咱们先写个模块吧:
写完模块后呢,你要把你所写的模块放到所定义的环境变量中路径下面哦。
接下来你就可以随意在你电脑上的任何路径下编写一个程序,来导入这个模块使用啦,如下所示哦:
运行这个module_test.py看看有什么效果呢?如下所示哦:
可以看出,俺所编写的module_test.py程序文件所在的路径是在D:\code\python路径下哦,与模块所在的路径(D:\my_module)不是在同一个路径下,但是呢,当你运行module_test.py程序时,你所调用的module模块是能够正常加载的哦,这就是上面所说的环境变量的威力,相信到这里大家已经学会了哦!
好啦,下面在和大家说一下加载模块的方法二哦!
方法二:将模块放在默认的模块路径下
以前俺和大家探讨过,Python之所以这么火的原因就是因为它有好多好多好多好多的模块,也就是第三方库文件,这些第三方库文件对于Python来说呢,就是它的扩展模块哦,这种模块有的基础模块是直接安装在Python的内部哦,这样就能方便被所有滴程序所共享哦,说到这里,相信大家已经想到了哦,就是我们也可以利用Python的内部路径来加载自己所编写的模块哦!
下面就告诉大家该怎么操作吧!首先呢,你需要知道Python滴默认模块所在的路径哦,你可能会说了我哪里知道,木有关系,Python还是很体贴滴,你可以用它的指令去查找哦,sys.path这边变量就代表Python滴默认模块所在的路径哦,那我们就查找一下试试吧:
看到了吗,俺滴电脑上所安装的Python解释器的默认模块的所在路径是:D:\software\Python\Python38\Lib\site-packages\下面。
咦,你是不是还有疑问呢?俺猜到了,是不是想问俺上面输入的是啥指令?啥意思呢?好啦,下面就卖关子了,告诉大家,上面呢,首先是用import加载了两个模块:sys和pprint,sys相比大家都了解哦,就是系统相关的模块啦,那这个pprint是啥模块,它呢说白了就是具有和print一样的打印功能哦,但是你使用pprint可以显示更加友好的打印结果哦。
好啦,下面还是给大家举个“栗子”吧:
首先编写一个模块程序,如下:
写好之后呢,你就要把你编写的这个module.py模块文件拷贝到你电脑上所安装的Python解释器的默认模块路径下面哦,比如俺的电脑上的Python解释器的默认模块路径是D:\software\Python\Python38\Lib\site-packages\,把module.py拷贝过去:
然后呢,然后当然是你所编写的任何程序都可以使用这个模块啦,不信还是看“栗子”哦,我们就在Python解释器下为大家展示一下吧:
可以看到哦,你在Python解释器中只需要用import把模块进行加载,就可以随意使用该模块中的东东了哦,到这你也可以自信的说出:我们也可以独自开发Python的第三方库(模块)啦!
好啦,今天就和大家探讨这么多吧,下次见![微笑]
敬请关注“品位集结号”,为您带来意外的小知识![比心]
猜你喜欢
- 2024-11-22 Python 语言学习要点记录8-模块
- 2024-11-22 python-模块和包
- 2024-11-22 python组织和管理代码:模块和包、子模块和子包概念及举例
- 2024-11-22 每个 Python 开发人员需要掌握的 5 个基本内置模块
- 2024-11-22 一文提升你的Python能力——定义模块、说明模块和测试模块
- 2024-11-22 一、Python 模块简介
- 2024-11-22 Python 中引入一个文件,模块的概念
- 2024-11-22 Python基础-模组(类库、模块)
- 2024-11-22 python编程系列教程:9-模块的使用
- 2024-11-22 Python学习点滴02 - 弄清模块、包和库(1)
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)