import导入模块

import模块导入的方法

import xx
import xx, yy
from xx import mm
from xx import mm, nn
import xx as XX

导入模块as的作用

import 导入了一个模块并且在当前模块中定义了一个变量引用了导入的模块

import搜索路径

结构

import sys
print(sys.path)

运行结果:

['/Users/toby/Downloads/PythonAdvanced/code/5.python高级一', '/Users/toby/Downloads/PythonAdvanced', '/Applications/PyCharm.app/Contents/helpers/pycharm_display', '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python37.zip', '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7', '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/lib-dynload', '/Users/toby/Library/Python/3.7/lib/python/site-packages', '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages', '/Applications/PyCharm.app/Contents/helpers/pycharm_matplotlib_backend']

路径搜索:
从上面列出的目录里依次查找要导入的模块文件
… 表示当前路径
列表中的路径的先后顺序代表了python解释器在搜索模块时的先后顺序

程序执行是添加新的模块路径

sys.path.append(路径)
sys.path.insert(0, 路径) # 可以确保先搜索这个路径

demo:

import sys
sys.path.append('/Users/toby/Downloads/PythonAdvanced/code/pythonAdvanced5Verify')
print(sys.path)

运行结果:

['/Users/toby/Downloads/PythonAdvanced/code/5.python高级一', '/Users/toby/Downloads/PythonAdvanced', '/Applications/PyCharm.app/Contents/helpers/pycharm_display', '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python37.zip', '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7', '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/lib-dynload', '/Users/toby/Library/Python/3.7/lib/python/site-packages', '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages', '/Applications/PyCharm.app/Contents/helpers/pycharm_matplotlib_backend', '/Users/toby/Downloads/PythonAdvanced/code/pythonAdvanced5Verify']

重新导入模块

为了防止模块的重复导入,只有第一次导入才会生效,后面不会生效;
模块被导入后,import module不能重新导入模块,重新导入需用reload
reload可以在不重启项目的情况下就可以完成模块的重新加载,必须是之前已经完成的模块
结构:

import imp import reload
reload(模块名)

import xx和from xx import mm的区别

import
新建三个文件
main.py控制程序启动和运行

from recv_msg import *
from handle_msg import *
def main():
	# 1.接收数据
	recv_msg()
	# 2.测试是否接收完毕
	test_recv_data()
	# 3.判断如果处理完成,则接收其它数据
	recv_msg_next()
	# 4.处理数据
	handle_data()
	# 5.测试是否处理完毕
	test_handle_data()
	# 6.判断如果处理完毕,则接收其他数据
	recv_msg_next()

if __name__ == "_main__":
	main()

common.py存储配置信息

RECV_DATA_LIST = list() # 用来存储数据
HANDLE_FLAG = False # 用来标记数据是否处理完成

handle_msg.py处理信息

from common import RECV_DATA_LIST
import common

def handle_data():
	"""模拟处理recv_msg模块接收的数据"""
	print("--->handle_data")
	for i in RECV_DATA_LIST:
		print(i)
	common.HANDLE_FLAG = True

import 模块名:表示导入模块并在当前模块中定义一个模块名称相同的变量指向模块的引用

from 模块名 import 属性/方法:表示定义一个全局变量指向了模块中的属性/方法,而在使用时只表示当前文件中的局部变量。

所以在实际开发中对于公共的库最好使用import 模块名导入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值