最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

每日视讯:Python如何导入自定义模块?

来源:博客园


(资料图片)

在C语言里为了工程文件的主程序main代码简洁的效果,我们经常用include“XXX”的来导入其.h文件

在Python里Import自己的自定义模块需要注意几个坑

以main主函数和需要导入的halo模块为例:

一、一般Import只需要将main.py和halo.py放在同一个文件夹即可成功导入

"""main.py里直接导入使用即可"""import halohalo.hello("kumata")#输出hello,kumata

二、当不在同一个文件夹的时候,在halo的文件夹(kk)里命名__init__.py文件

__init__.py文件相当于一个标记作用,一个文件夹中包含这个文件,那么该文件夹在Python中被定义为Module,__init__.py中可以什么都不写,只要存在就行了。

"""要注意主程序里import的写法(加了__init__.py之后kk就是一个package了)"""#Python学习交流群:489111204from kk import halohalo.hello("kumata")#输出 hello,kumata

三、使用sys在path中加入模块的路径

需要自己定义模块的存放位置就要先添加自己的路径到sys.path,通过sys.path.append(‘dir’)来添加自己的模块存储路径,其实就是像目录列表中添加一个元素

"""以halo.py为例子halo.py的路径为:C:\Users\BEAR\Desktop\Training\5.函数\kk"""import syssys.path.append(r"C:\Users\BEAR\Desktop\Training\5.函数\kk")from kk import halo halo.hello("kumata")#hello, kumata#也可以查看path都有哪些print(sys.path)"""["C:\\Users\\BEAR\\Desktop\\Training\\5.函数", "C:\\Users\\BEAR\\Desktop\\Training", "C:\\Users\\BEAR\\Desktop\\Training\\venv\\Scripts\\python37.zip", "C:\\python\\DLLs", "C:\\python\\lib", "C:\\python", "C:\\Users\\BEAR\\Desktop\\Training\\venv", "C:\\Users\\BEAR\\Desktop\\Training\\venv\\lib\\site-packages", "C:\\Users\\BEAR\\Desktop\\Training\\venv\\lib\\site-packages\\setuptools-39.1.0-py3.7.egg", "C:\\Users\\BEAR\\Desktop\\Training\\venv\\lib\\site-packages\\pip-10.0.1-py3.7.egg", "C:\\Users\\BEAR\\Desktop\\Training\\5.函数\\kk"]"""#可以看到python的所有检索范围,而排在第一位的就是当前目录

关键词: 当前目录 存储路径 这个文件