首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

python模块(4)

python模块(4)

python导入自定义模块方法
方法一:将两个文件放在同一级别的目录下(不推荐)

假如,有一个自定义模块helloworld.py,它提供的show()函数仅仅是打印一行Hello World!信息:

#helloworld.py
def show():
    print(“Hello World!”)



然后有一个文件test.py。现在把他们放在同一个目录下,这样,在test.py中,就可以直接导入这个模块:

#test.py
import helloworld.py
helloworld.show()



为了测试我把它们都放在同一个目录里,运行test.py,成功运行。
方法二:将自定义模块打包

将一揽子的模块(.py文件)放在一个文件夹里面,再添加一个init.py,这样这个文件夹就成为了一个包。可以将这个包放入python安装目录的../Lib/site-packages/中,这样就可以导入这个包中的模块使用了

例如,创建一个名为pck的文件夹,然后将helloworld.py文件放入,再放一个空的init.py文件,这个pck就成为了一个包。将包放入上面所说的路径中。如我的路径是:C:\Program Files (x86)\Python35-32\Lib\site-packages。

然后,test.py放在非site-packages路径里(为了和处于site-packages/pck下的模块区别路径),test.py内容如下

#test.py
import pck.helloworld
pck.helloworld.show()



输出结果与方法一相同。

注意!上面的show方法,因为我是直接导入模块,所以“包名+模块名”的前缀要写完整,否则可能找不到show函数
方法三:自定义模块打包,放在test.py同一个目录下

方法三和方法二差不多,只不过方法三中,打的包pck不放在site-packages下,而是放在和test.py同一目录下,引用方法相同。
方法四:在test.py中设置模块搜索路径

现在,我将包pck放在C盘下:C:/pck,那么我可以在test.py中写如下代码:

#test.py
import sys
sys.path.append(“C:/“)  //设置自定义包的搜索路径
import pck.helloworld
pck.helloworld.show()



甚至,可以不用包,我直接将helloworld.py文件放在C盘下,然后在test.py中写

#test.py
import sys
sys.path.append(“C:/“)  //设置自定义包的搜索路径
import helloworld
helloworld.show()



方法五:使用.pth文件

首先,任意脚步中用如下代码来获取可放置.pth文件的路径

import site
site.getsitepackages()



会显示放置.pth的搜索路径如下:
C:\Program Files (x86)\Python35-32\lib\site-packages

创建一个测试包joepck(这个包名是随便起的),放置在任意路径下(为了测试用),我们这里放在C:\Joe

然后建立一个.pth文件
PckPath.pth
内容就是我们放置包的路径如下:

C:\Joe



然后把PckPath.pth文件放在C:\Program Files (x86)\Python35-32\Lib\site-packages路径下

在任意py脚本中使用from import语句来使用模块

from joepck import helloworld
helloworld.show()
返回列表