• import导入模块


    1. import 搜索路径

    路径搜索

    • 从上面列出的目录里依次查找要导入的模块文件
    • '' 表示当前路径
    • 列表中的路径的先后顺序代表了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.path
    Out[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

     

     

     

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

    recv_msg.py模块

    from common import RECV_DATA_LIST
    # from common import HANDLE_FLAG
    import common
    
    
    def 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_FLAG
    import common
    
    def 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 = True
    
    def 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()

     

  • 相关阅读:
    UESTC cdoj 619 吴神,人类的希望 (组合数学)
    Codeforces Round #317 (Div. 2) D Minimization (贪心+dp)
    Codeforces Round #317 div2 E div1 C CNF 2 (图论,匹配)
    Codeforces Round #317 (Div. 2) C Lengthening Sticks (组合,数学)
    UVA 1412 Fund Management (预处理+状压dp)
    UVA
    codeforces Gym 100338F Spam Filter 垃圾邮件过滤器(模拟,实现)
    WebSocket 学习教程(二):Spring websocket实现消息推送
    dwr的ScriptSession和HttpSession分析
    WebSocket 学习教程(一):理论
  • 原文地址:https://www.cnblogs.com/zzmx0/p/12735374.html
Copyright © 2020-2023  润新知