解決Python中導(dǎo)入自己寫(xiě)的類,被劃紅線,但不影響執(zhí)行的問(wèn)題
1. 錯(cuò)誤描述
之前在學(xué)習(xí)Python的過(guò)程中,導(dǎo)入自己寫(xiě)的包文件時(shí),與之相關(guān)的方法等都會(huì)被劃紅線,但并不影響代碼執(zhí)行,如圖:
看著紅線確實(shí)有點(diǎn)強(qiáng)迫癥,并且在這個(gè)過(guò)程當(dāng)時(shí),當(dāng)使用該文件里的方法時(shí)不會(huì)自動(dòng)提示方法名,只能靠手全部輸入,這種容易造成手誤,對(duì)于小白特別容易降低編寫(xiě)效率
2. 原因分析
pycharm中,source root概念非常重要,當(dāng)你在代碼中寫(xiě)相對(duì)路徑的時(shí)候,就是以source root為起點(diǎn)進(jìn)行查詢。
而pycharm中,當(dāng)前的項(xiàng)目文件夾 是默認(rèn)的source root,當(dāng)你使用import語(yǔ)句導(dǎo)入模塊時(shí),Pycharm默認(rèn)在project folder中尋找;
所以當(dāng)你在project folder下的某個(gè)subfolder導(dǎo)入某個(gè)同樣定義在這個(gè)subfolder中的模塊時(shí),會(huì)出現(xiàn)導(dǎo)入錯(cuò)誤。
3. 解決方案
問(wèn)題已經(jīng)找到了,pycharm不會(huì)將當(dāng)前文件目錄自動(dòng)加入自己的sourse_path。所以我們要告訴pycharm就行了。下面有兩種方法(3.1和3.2),都能比較方便的解決問(wèn)題:
3.1 加一個(gè)“點(diǎn)”
第一種方法非常簡(jiǎn)單,只需要在models前加一個(gè)點(diǎn)。表示,告訴pycharm我要引用的模塊位于同級(jí)目錄。
例如:
from models import className
修改為:
from .models import className
就可以不報(bào)錯(cuò)了
3.2 添加“當(dāng)前目錄”
第二種方法:
既然,pycharm不會(huì)將當(dāng)前文件目錄自動(dòng)加入自己的sourse_path。那么我們就手動(dòng)告訴他。
右鍵目錄名 點(diǎn)擊make_directory as --> sources path 將當(dāng)前工作的文件夾加入source_path就可以了。步驟如下圖:
以上這篇解決Python中導(dǎo)入自己寫(xiě)的類,被劃紅線,但不影響執(zhí)行的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python編程快速上手——瘋狂填詞程序?qū)崿F(xiàn)方法分析
這篇文章主要介紹了Python瘋狂填詞程序?qū)崿F(xiàn)方法,結(jié)合具體案例形式分析了Python填詞算法相關(guān)的文件讀寫(xiě)、正則匹配、數(shù)據(jù)遍歷等操作技巧,需要的朋友可以參考下2020-02-02OpenCV實(shí)現(xiàn)灰度、高斯模糊、邊緣檢測(cè)的示例
這篇文章主要介紹了OpenCV實(shí)現(xiàn)灰度、高斯模糊、邊緣檢測(cè)的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Android Q之氣泡彈窗的實(shí)現(xiàn)示例
這篇文章主要介紹了Android Q之氣泡彈窗的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06python 進(jìn)程池的兩種不同實(shí)現(xiàn)方法示例
這篇文章主要為大家介紹了python 進(jìn)程池的兩種不同實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05基于python解析XML文件并將數(shù)據(jù)存儲(chǔ)到MongoDB的代碼示例
在軟件開(kāi)發(fā)中,我們經(jīng)常需要處理各種格式的數(shù)據(jù),XML 是一種常用的數(shù)據(jù)交換格式,它可以存儲(chǔ)和傳輸結(jié)構(gòu)化數(shù)據(jù),很多網(wǎng)站會(huì)提供 XML 格式的數(shù)據(jù)接口,以便其他系統(tǒng)可以方便地獲取數(shù)據(jù),本文介紹了基于python解析XML文件并將數(shù)據(jù)存儲(chǔ)到MongoDB的代碼示例,需要的朋友可以參考下2024-06-06