方法一:将两个文件放在同一级别的目录下(不推荐)
假如,有一个自定义模块helloworld.py
,它提供的show()
函数仅仅是打印一行Hello World!
信息:
#helloworld.py
def show():
print("Hello World!")
然后有一个文件test.py
。现在把他们放在同一个目录下,这样,在test.py
中,就可以直接导入这个模块:
#test.py
import helloworld.py
helloworld.show()
为了测试我把它们都放在桌面上,然后用IDLE,选择File->Open去打开test.py
,然后按F5运行这个文件,可以看到,它输出了结果。
方法二:将自定义模块打包
将一揽子的模块(.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/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文件
首先,在IDLE环境中,用如下代码来获取可放置.pth文件的路径
import site
site.getsitepackages()
在我的电脑上显示:
我选择后者作为放置路径。
创建一个测试包kylinpck233000666454854848
(这个包名我是随便起的(⊙o⊙)…),放置在任意路径下(为了测试用)
然后建立一个.pth文件
然后把该文件放在
C:\Program Files (x86)\Python35-32\Lib\site-packages
路径下接下来打开IDLE,因为是包,所以使用
from import
语句来使用模块
>>> from kylinpck233000666454854848 import helloworld
>>> helloworld.show()