Python學習之模組間互相呼叫方法詳解

2021-08-07 12:22:37 字數 1123 閱讀 5005

本文和大家分享的主要是python

學習python有所幫助。

問題在python

裡,假設我們有兩個模組,a,

b,在模組

a中有檔案

a1,模組

b中有檔案

b1.

結構如下 –a

—a1–b

—b1那麼,在b1

檔案中呼叫

a1裡的方法,就會出現

import error

,告訴我們找不到這個模組

解決方法

對於這類問題解決方法很簡單,由於他們的父級目錄都是相同的,我們只需要在模組a

中加入乙個空的檔案 

init.py

(必須是這個名字,下劃線前後都是兩個),就可以將目錄

a轉化為

libroot

。我們的呼叫這時候也就可以進行了。

更複雜的情況

上面的情況比較簡單,但是往往我們使用的過程中會有更加複雜的情況,比如下面

–myproject

—a—-a1

—b—-c

—–d——d1

此時,d1

呼叫a1

中的方法,即使加入了 

init .py

也是行不通的。我們需要用一些手段把

a1所在目錄父級路徑加入

d1的搜尋路徑

解決方法

正如上面所說,我們需要把包a

的父級路徑加入到

d1的搜尋路徑裡去,怎麼實現呢?很簡單,使用

os包,**如下

import os

import sys

curpath = os.path.abspath(os.path.dirname(__file__))

rootpath = os.path.split(curpath)[0]

就是我們需要新增的內容,即包

a的父級路徑

,各位在使用的時候換成自己的路徑就行了

ide提醒

使用了上面兩種方法後,就可以消除大多數的import error

找不到的情況了,需要注意的是,在

ide中,這些步驟都是

ide來完成的,所以會出現,

ide裡能執行,命令列各種報錯的情況。

Python 任意進製間互相轉換

usr bin python3 def any to dec num type,num str num type int num type print 輸入的 num type,進製數是 num str i 0 num 0 num str num str 1 dict1 for each in nu...

python學習之模組

模組與包 1.模組 在 python 中,乙個.py檔案就稱之為乙個模組 module 大大提高了 的可維護性 編寫 不必從零開始。當乙個模組編寫完畢,就可以被其他地方引用 呼叫模組時用import 包名 eg hello模組 def add x,y return x y def jian x,y ...

python模組學習之glob模組

功能描述 glob模組可以使用unix shell風格的萬用字元匹配符合特定格式的檔案和資料夾,跟windows的檔案搜尋功能差不多。glob模組並非呼叫乙個子shell實現搜尋功能,而是在內部呼叫了os.listdir 和fnmatch.fnmatch 檢視我之前寫的fnmatch。glob模組共...