zoukankan      html  css  js  c++  java
  • Python 模块管理1

    Python 模块管理

     

    导入新的模块

    创建一个 calculate.py 文件

    print('ok')
    
    
    def add(x,y):
        return  x + y
    
    
    def sub(x,y):
        return  x - y
    

    再创建一个 bin.py 文件调用 calculate.py 模块

    import sys
    
    import calculate           # 导入 calculate 模块, 模块会在  sys.path 中搜索
    
    print(calculate.add(1,2))  # 调用 calculate 模块中的 add 方法,需要写成 calculate.add()
    
    print(sys.path)            # 查看 pyton 搜索模块
    
    运行结果:
    ok
    3
    ['D:\python_script\alex_test\day20', 'D:\python_script\alex_test', 'D:\python35\python35.zip', 'D:\python35\DLLs', 'D:\python35\lib', 'D:\python35', 'D:\python35\lib\site-packages']
    

    通过 from ... import 方法来进行调用 calculate 模块中的方法

    from calculate import add,sub
    
    print(add(1,2))             # 直接使用 add() 进行调用
    
    运行结果:
    ok
    3

    创建别名

    from calculate import add as plus         # 这里程序只能调用 plus,而 add 则会失效
    
    # print(add(1,2))  报 NameError: name 'add' is not defined 错误
    
    print(plus(1,2))
    
    运行结果:
    ok
    3

    调用其他目录下的模块


    logger.py 文件内容

    def write_log():
        print("logging")

    两种方式进行调用

    #方法一:
    from web.logger import write_log
    
    write_log()
    运行结果:
    logging
    
    #方法二:
    from web import logger
    
    logger.write_log()
    运行结果:
    logging

    注意,如果模块下面的 __ init__ .py 的文件内容,import 和 from...import 都会执行 __ init__ .py 中的语句。

    导入模块的时候注意模块的路径

    import os,sys
    BABE_DIR = os.path.dirname(os.path.dirname(__file__))
    # 通过 __file__ 获取当前执行文件的路径及名称
    # 通过 os.path.dirname() 获得上一级的路径
    
    sys.path.append(BABE_DIR) # 系统执行环境添加需要的路径
    
    print(sys.path)
  • 相关阅读:
    图像分割之Dense Prediction with Attentive Feature Aggregation
    与中文对齐的英文等宽字体
    管家订菜与Scrum流程
    说说自己在2014年的阅读思路
    Hello World
    Bootstrap实现轮播
    普通Apache的安装与卸载
    Python中OS模块
    Python中文件读写
    Python装饰器
  • 原文地址:https://www.cnblogs.com/di2wu/p/8971811.html
Copyright © 2011-2022 走看看