1. 程式人生 > >Python 模塊管理1

Python 模塊管理1

comment RR pri pyton _file__ sys dir web def

導入新的模塊

創建一個 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)

Python 模塊管理1