Python進(jìn)程崩潰AttributeError異常問題解決
Python進(jìn)程崩潰(AttributeError異常)
python進(jìn)程崩潰
當(dāng)Python進(jìn)程執(zhí)行時(shí),出現(xiàn)一個(gè)無法處理的致命錯(cuò)誤,導(dǎo)致進(jìn)程異常終止,這就稱為進(jìn)程崩潰或崩潰。
常見的導(dǎo)致Python進(jìn)程崩潰的錯(cuò)誤有:
- 除零錯(cuò)誤:試圖除以零會(huì)導(dǎo)致崩潰。
- 無屬性錯(cuò)誤:試圖訪問一個(gè)對(duì)象不存在的屬性或方法會(huì)導(dǎo)致崩潰。
- 索引錯(cuò)誤:試圖訪問一個(gè)列表或元組中不存在的元素會(huì)崩潰。
- 類型錯(cuò)誤:傳遞了一個(gè)對(duì)象不能接受的參數(shù)類型,導(dǎo)致崩潰。
- 內(nèi)存錯(cuò)誤:試圖訪問已經(jīng)釋放的內(nèi)存區(qū)域會(huì)導(dǎo)致崩潰。
- 語法錯(cuò)誤:運(yùn)行時(shí)代碼包含語法錯(cuò)誤,導(dǎo)致崩潰。
這些錯(cuò)誤都是Python解釋器無法處理的致命錯(cuò)誤,直接導(dǎo)致進(jìn)程終止,即進(jìn)程崩潰。
一些嚴(yán)重程度更高的錯(cuò)誤,Python解釋器無法徹底處理,只能選擇進(jìn)程崩潰來避免進(jìn)程處于未定義狀態(tài)。
AttributeError異常
Python進(jìn)程在運(yùn)行時(shí)嘗試訪問一個(gè)不存在的變量、函數(shù)或?qū)嵗膶傩詴r(shí),會(huì)產(chǎn)生無屬性錯(cuò)誤(AttributeError)。
這個(gè)無屬性錯(cuò)誤是一個(gè)致命的runtime錯(cuò)誤,表示程序的運(yùn)行時(shí)環(huán)境處于一個(gè)不正常的、不可恢復(fù)的狀態(tài)。
對(duì)于這種致命錯(cuò)誤,Python解釋器/虛擬機(jī)沒有辦法恢復(fù)到一個(gè)正常狀態(tài)繼續(xù)執(zhí)行。所以唯一的選擇是終止當(dāng)前進(jìn)程。
工作總結(jié)
問題描述:
某個(gè)項(xiàng)目我在包aa.bb.xxx 下的__init__.py文件中定義了 xxx
我使用了from aa.bb import xxx
在項(xiàng)目中我直接使用 xxx.test ,進(jìn)程崩潰
問題分析總結(jié):
- 一個(gè)包僅僅是一個(gè)命名空間,用于組織模塊及提供層次化的模塊名稱空間。一個(gè)包名本身并不代表該包中定義的任何變量、實(shí)例或?qū)傩浴?/li>
- 當(dāng)你使用包名直接訪問屬性時(shí),Python會(huì)嘗試獲取該包中定義的屬性,但是由于包名本身代表的僅僅是一個(gè)命名空間,所以實(shí)際上并不存在該屬性,這會(huì)導(dǎo)致無屬性錯(cuò)誤。
- 無屬性錯(cuò)誤會(huì)導(dǎo)致Python進(jìn)程崩潰,因?yàn)槠浔硎疽粋€(gè)變量、實(shí)例或包并不存在被訪問的屬性,這是一個(gè)致命的runtime錯(cuò)誤。
理解包只是一個(gè)命名空間,并不代表定義在其中的任何變量或?qū)嵗?/strong>。解決這個(gè)問題的關(guān)鍵是理解Python包的概念,以及正確的語法來導(dǎo)入和使用包及包中提供的資源。避免錯(cuò)誤地假定可以直接通過包名來訪問變量或?qū)嵗?/p>
這種情況,我應(yīng)該修正為正確的導(dǎo)入包中定義的變量,使用 到此這篇關(guān)于Python進(jìn)程崩潰(AttributeError異常)的文章就介紹到這了,更多相關(guān)Python進(jìn)程崩潰內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!問題解決:
from aa.bb.xxx import xxx
來引入這個(gè)包下的xxx變量。
相關(guān)文章
Python利用matplotlib.pyplot.boxplot()繪制箱型圖實(shí)例代碼
相信大家應(yīng)該都知道Python繪制箱線圖主要用matplotlib庫(kù)里pyplot模塊里的boxplot()函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python利用matplotlib.pyplot.boxplot()繪制箱型圖的相關(guān)資料,需要的朋友可以參考下2022-08-08python人工智能tensorflow函數(shù)tf.layers.dense使用方法
這篇文章主要介紹了python人工智能tensorflow函數(shù)tf.layers.dense的使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Jmeter通過OS進(jìn)程取樣器調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互傳
這篇文章主要介紹了Jmeter通過OS進(jìn)程取樣器調(diào)用Python腳本實(shí)現(xiàn)參數(shù)互傳,描述在cmd中調(diào)用上面的Python腳本并傳入兩個(gè)參數(shù)展開主題,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-03-03python使用OpenCV模塊實(shí)現(xiàn)圖像的融合示例代碼
這篇文章主要介紹了python使用OpenCV模塊實(shí)現(xiàn)圖像的融合示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04python GUI庫(kù)圖形界面開發(fā)之PyQt5復(fù)選框控件QCheckBox詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫(kù)圖形界面開發(fā)之PyQt5復(fù)選框控件QCheckBox詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02使用flask如何獲取post請(qǐng)求參數(shù)
近日在使用flask框架獲取前端的請(qǐng)求時(shí)獲取參數(shù)時(shí),遇到了幾個(gè)問題,所以下面這篇文章主要給大家介紹了關(guān)于使用flask如何獲取post請(qǐng)求參數(shù)的相關(guān)資料,需要的朋友可以參考下2022-08-08