创建一个自己的Kevin_Modules文件夹,里面有__init__.py 、K_fuction01.py,K_fuction02.py
K_fuction01.py:
def show_1():
print("this is K_fuciont01.show_1()")
K_fuction02.py:
def show_2():
print("this is K_fuction02.show_2()")
__init__.py:
__all__=["K_fuction01","K_fuction02"]
方法一:
在同一目录下,
就直接使用from xxx[自己的写的py文件名] import xxx[py里面的函数]
或者 import 自己的写的py文件名
例如:我在K_fuction02里包含K_f01就可以。
def show_2():
print("this is K_fuction01.show_2()")
import K_fuction01
K_fuction01.show_1()
方法二:
不在同一目录下:(但距离很近):两种
2.1法 使用sys临时添加路径:
# 2018-9-12 更
import os
import sys
if __name__== '__main__':
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(BASE_DIR)
sys.path.append(BASE_DIR)
2.2法 直接指明路径,去包含。(测试环境py3)把kevin_modules文件夹当成一个mod集合
至此,现在文件夹情况:
方法3:
创建成可以上传,共享的压缩包,安装包,然后本地再安装一下,这样就可以在任何工作路径下都可以使用,即自己写的模块以及作为一个正常的模块可以包含了。
1.在Python 里创建setup.py:
from distutils.core import setup
setup(name="kevin",version="1.0",description="this is a module made by kevin",author="kevin",py_modules=["kevin_modules.K_fuction01","kevin_modules.K_fuction02"])
2.在Python文件夹该级目录下启用shell,输入:python setup.py build。将会创建一个build.,查看结构和原py模块包,路径相仿,有lib等。
3.制作模块压缩包:python setup.py sdist,在当前目录下生成了一个模块名加版本的模块压缩包
在dist下会有一个做好的tar.gz文件。(这个压缩包可以分享给好友安装,也可以发到githut里)
解压文件夹,进入到有setup.py目录路径里
命令: python setup.py install(默认导入到python系统中,即python安装目录,可任意使用)
2019-11-28 更: 其实不用解压也可,直接通过 pip install xxx.tar.gz 安装,此方法对其他下载的py包通用。
系统模块包文件下能看到自己的模块以及存在
以及在Python里面能够直接调用