包package 的導(dǎo)入與被導(dǎo)入:
參考一下:
https://blog.csdn.net/guowujun321/article/details/80764468
1.文件目錄:
|
|-- ?A/
| | __init__.py
| |A1.py
|
| B/
| |__init__.py
| |B1.py
|
| 測(cè)試A.py
問(wèn)題1:在平行目錄下的 測(cè)試A.py? 想要導(dǎo)入A 包時(shí),需要在 測(cè)試A.py? 中寫:
?
from A
import *
然后可以直接調(diào)用A包中的方法或者類(不需要寫包名)
或者
import
A
A.ac()
a1=A.A_Class(
"
asd
")
?
問(wèn)題2:A包的__init__文件應(yīng)該怎樣寫,例如要導(dǎo)如A1.py文件中的Class:
import
os,sys
Path=os.path.dirname(os.path.abspath(
__file__
))
sys.path.append(Path)
from A1
import *
#
這一句是不可以用import A1這條語(yǔ)句的,因?yàn)樵趧e的地方導(dǎo)入該A包的時(shí)候,會(huì)出錯(cuò)。(會(huì)出現(xiàn)未知命名錯(cuò)誤),
至于前面的三行代碼是為了把A1所在目錄導(dǎo)入path中,,讓系統(tǒng)可以找到。
問(wèn)題3:當(dāng)B包中的B1.py文件需要導(dǎo)入A包時(shí),該怎么導(dǎo)入:
import
os,sys
Path=os.path.dirname(os.path.dirname(os.path.abspath(
__file__
)))
print
(Path) sys.path.append(Path)
from A
import *
a1=A_Class(
"
張三
"
) 我創(chuàng)建的A包中有一個(gè)類A_Class.當(dāng)需要導(dǎo)入A包時(shí),需要把A包的父目錄添加到path中讓系統(tǒng)可以找到。
★
①采用from...import方式
from 包 絕對(duì)路徑 ?from 模塊py文件
from package.subpackage1 import foo1
from 模塊 import 變量
from 包 import 子包
②采用import方式
import package.subpackage1
import 模塊
總結(jié):import和from 2個(gè)關(guān)鍵字后面 都可以是模塊或者包
本測(cè)試代碼鏈接:https://github.com/Anxc520/test1.git
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
