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)
posted @ 2018-04-29 15:35  klvchen  阅读(481)  评论(0编辑  收藏  举报