摘要
自定义一个包有多种方法,可以用IDLE、pycharm。面对实际的应用场景,这里介绍两种方法。一种是特定工程内包的定义与引用,另一种是定义一个可供所有工程使用的包。
特定工程内包的定义与导入
1、定义包
新建一个存放包的文件夹,如E:\PY_PRACTICE\packdemo
启动pycharm后,关闭所有工程,点击【open】然后选择刚建的packdemo文件夹。
然后在该界面新建python Package,并输入包名,如cv。点击ok之后可以看到在包cv下自动建立了__init__.py(包的初始化文件)
然后在包里逐一新建你需要的模块即可(.py文件)
2、在该工程内导入自定义包
在该工程下,创建py脚本。
直接导入模块 import 包.子包.模块
或者from 包.子包 import 模块
#必须使用全路径名
直接导入函数 from 包.子包.模块 import 函数
3、引用
不同的导入方式对应不同的引用方法:
import 包.子包.模块
->包.子包.模块.函数()
from 包.子包 import 模块
->模块.函数()
from 包.子包.模块 import 函数
->函数()
定义一个可供所有工程使用的包
1、定义包
同上
2、将包的路径加入sys.path
首先需要将包的路径加入sys.path的list中(搜索路径)。有两种方法,一种是动态修改sys.path,一种是静态修改sys.path:
动态方法:
import sys import os pack_path = os.path.dirname(os.path.abspath(sys.argv[0])) sys.path.insert(0,os.path.join(pack_path,'E:\PY_PRACTICE\packdemo')) print(sys.path)#可查看搜索列表
该方法添加的路径只在程序运行期间起作用,退出后,sys.path列表中不保留被添加的路径。
静态方法:
在系统 环境变量中新建变量PYTHONPATH,然后添加所需路径,如:E:\PY_PRACTICE\packdemo
测试有没有被添加进来:import sys print(sys.path)
3、导入与引用
同上。现在就可以愉快的调用自定义的package了。