warning⚠️
更新於2023年 imp庫在python3裡面已經不推薦使用了
imp模組提供了乙個可以實現import語句的介面。
使用imp可以用來匯入模組和類。
imp.py_source ----1
imp.py_compiled------2
imp.c_extension------3
imp.find_module(name, [,path])
返回值是三元素元組file, pathname, description
file is an open file object positioned at the beginning, pathname is the pathname of the file found, and description is a 3-element tuple as contained in the list returned by get_suffixes() describing the kind of module found.
這裡的file可以理解為通過open()開啟的乙個控制代碼
例如:a = open(』/etc/test.sh』)的這個a
imp.load_module(name, file, pathname, description)
例子就是uts中env.py
這個是env.py這個檔案裡面定義乙個類
class a(object)
pass
下面是myb.py
import os
import sys
import imp
# dir就是env.py所在的目錄
dir = os.path.dirname(os.path.abspath())
# 這裡有個注意點,可以選擇從多個目錄中找[dir1, dir2],若果沒有找到env會報importerror
file, path_name, description = imp.find_module('env', [dir])
# 這一步就是匯入env這個模組,讓b成為a類的別名
b = imp.load_module('env', file,path_name, description).a
當我在其他檔案中需要使用b類的時候
from myb import b
好處:我從myb匯入了b,但b實際的定義是位於env.py中的a類,所以當我的env.py處於不同位置的時候,我可以匯入不同的類b
官方例子,用完之後記得關閉檔案
IMP 00009 匯出檔案異常結束 imp
在一次exp imp中,用imp匯入資料時報錯。錯誤資訊如下 imp 00009 匯出檔案異常結束 imp匯入時異常結束可以有很多原因造成,要具體問題具體分析。可能原因一 匯入的資料表過大,而我們的輸入緩衝區則太小了。解決辦法是 用pl sql developer 匯入這些在一次exp imp中,用...
資料庫重建imp技巧
在利用import進行資料庫重建過程中,有些檢視可能會帶來問題,因為結構輸入的順序可能造成檢視的輸入先於它低層次表的輸入,這樣建立檢視就會失敗.要解決這一問題,可採取分兩步走的方法 首先輸入結構,然後輸入資料.命令舉例如下 uesrname jfcl,password hfjf,host sting...
oracle 還原資料庫 imp
imp c nvs 111111 file e 專案 ishow web buckup database oracle初始資料庫匯入 20170714 expdata 20170714.dump log e 專案 ishow web buckup database oracle初始資料庫匯入 201...