设置模块路径_Pyhton import导入模块

1. import 搜索路径

f17b9c6042fe5b781dcd011689c322fb.png

路径搜索

从上面列出的目录里依次查找要导入的模块文件

‘’ 表示当前路径

列表中的路径的先后顺序代表了python解释器在搜索模块时的先后顺序

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

sys.path.append('/home/itcast/xxx')sys.path.insert(0, '/home/itcast/xxx') # 可以确保先搜索这个路径In [37]: sys.path.insert(0,"/home/python/xxxx")In [38]: sys.pathOut[38]: ['/home/python/xxxx', '', '/usr/bin', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3/dist-packages/IPython/extensions', '/home/python/.ipython']

2. 重新导入模块

模块被导入后,import module不能重新导入模块,重新导入需用reload

d5d811ee80c8edf2d913fdc46062b8ea.png
e5f4819d78aa978f94e0427f78b7eb13.png
f0d3ad303caf0b8c8a8ee7d5763c5892.png
af19ac4189a047d2c411f1d79ee2c377.png

3. 多模块开发时的注意点

recv_msg.py模块

from common import RECV_DATA_LIST# from common import HANDLE_FLAGimport commondef recv_msg(): """模拟接收到数据,然后添加到common模块中的列表中""" print("--->recv_msg") for i in range(5): RECV_DATA_LIST.append(i)def test_recv_data(): """测试接收到的数据""" print("--->test_recv_data") print(RECV_DATA_LIST)def recv_msg_next(): """已经处理完成后,再接收另外的其他数据""" print("--->recv_msg_next") # if HANDLE_FLAG: if common.HANDLE_FLAG: print("------发现之前的数据已经处理完成,这里进行接收其他的数据(模拟过程...)----") else: print("------发现之前的数据未处理完,等待中....------")

handle_msg.py模块

from common import RECV_DATA_LIST# from common import HANDLE_FLAGimport commondef handle_data(): """模拟处理recv_msg模块接收的数据""" print("--->handle_data") for i in RECV_DATA_LIST: print(i) # 既然处理完成了,那么将变量HANDLE_FLAG设置为True,意味着处理完成 # global HANDLE_FLAG # HANDLE_FLAG = True common.HANDLE_FLAG = Truedef test_handle_data(): """测试处理是否完成,变量是否设置为True""" print("--->test_handle_data") # if HANDLE_FLAG: if common.HANDLE_FLAG: print("=====已经处理完成====") else: print("=====未处理完成====")

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()
6f5a848c06d0ac45ebe116c5d8d9098d.png
11da275e0431ef439001959dd02e837e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值