亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python?import模塊時有錯誤紅線的原因

 更新時間:2022年02月11日 09:39:16   作者:啊啊啊啊懶  
這篇文章主要介紹了python?import模塊時有錯誤紅線的原因及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

import模塊時有錯誤紅線的解決

 

前情提要

概念:

在一個文件中代碼越長越不容易維護(hù),為了編寫可維護(hù)的代碼,我們把很多函數(shù)分組,分別放到不同的文件里,這樣每個文件包含的代碼就相對較少,很多編程語言都采用這種組織代碼的方式。在python中,一個py文件就稱之為一個模塊(Module)

好處:

1、最大的好處是提高了代碼的可維護(hù)性

2、編寫代碼不必從零開始。當(dāng)一個模塊編寫完畢,就可以在其他地方調(diào)用

分類:

1、python’標(biāo)準(zhǔn)庫 2、第三方模塊 3、應(yīng)用程序自定義

使用軟件為pycharm。在python項目執(zhí)行的時候,會出現(xiàn)導(dǎo)入模塊錯誤(代碼上表示出紅色曲線)

原因及解決辦法

1、常見的為本模塊沒有安裝,所以要去網(wǎng)上搜索該模塊的安裝方法。(很多可以通過pip解決)

2、若該模塊為自己編寫,則需看他是否跟執(zhí)行文件是否在一個文件夾下。

例1:

bin.py是執(zhí)行文件,想在bin.py中導(dǎo)入cal.py運行它中的run()函數(shù)。


在這里插入圖片描述

如果只寫import會報錯,因為兩個文件存在于兩個文件夾中

在這里插入圖片描述

所以這種情況在導(dǎo)入模塊的時候要寫成from 文件夾名 import 文件名

即from module1 import cal

例2:

bin.py是執(zhí)行文件,想在bin.py中導(dǎo)入main.py,在main中再導(dǎo)入cal.py運行cal.py的run()函數(shù)。簡單點說就是在1中調(diào)用2在從2中調(diào)用3

在這里插入圖片描述

這時,bin中的代碼是:

注:這樣導(dǎo)入的是正確的,但是有的時候pycharm也會給它標(biāo)紅線如下圖。直接執(zhí)行就好不用管(除非你導(dǎo)入本身有問題)


在這里插入圖片描述

from module1 import main
main.run()

main中的代碼是:

import cal
def run():
    print(cal.add(3,7))
    print('這里是main')

cal中的代碼是:

def add(a,b):
    print('這里是cal,%d+%d=%d'%(a,b,a+b))

注意:

這樣執(zhí)行是有錯誤的:

Traceback (most recent call last):
  File "E:/python_workspace/test/bin.py", line 1, in <module>
    from module1 import main
  File "E:\python_workspace\test\module1\main.py", line 1, in <module>
    import cal
ModuleNotFoundError: No module named 'cal'

這時,我們要格外注意,在main中導(dǎo)入cal模塊時寫的是import cal。這樣是錯誤的。

原因及解決:

我們的執(zhí)行文件是bin那么在執(zhí)行的的時候所有的導(dǎo)入路徑都是基于執(zhí)行文件的。所以盡管bin和main在同一文件夾下,依然要寫成from module import cal。(改完你會發(fā)現(xiàn)以下現(xiàn)象,不用管,這是軟件問題,保證導(dǎo)入路徑?jīng)]錯就可以執(zhí)行)

在這里插入圖片描述

import紅線但是能運行

解決方法

包右鍵-Mark Directory as-Sources Root 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python?Apschedule定時任務(wù)框架的用法詳解

    Python?Apschedule定時任務(wù)框架的用法詳解

    apschedule是一個用python寫的定時處理框架,這篇文章主要為大家詳細(xì)介紹了Apschedule定時任務(wù)框架的用法,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-06-06
  • Python中yield關(guān)鍵字的理解與使用

    Python中yield關(guān)鍵字的理解與使用

    yield關(guān)鍵字用于創(chuàng)建生成器函數(shù),一種高效利用內(nèi)存的函數(shù)類型,可以像迭代器對象一樣使用,本文主要介紹了Python中的yield關(guān)鍵字的應(yīng)用,需要的可以參考下
    2023-08-08
  • Python中numpy數(shù)組的維度增減方法詳解

    Python中numpy數(shù)組的維度增減方法詳解

    這篇文章主要介紹了Python中numpy數(shù)組的維度增減方法詳解,在操作數(shù)組情況下,需要按照某個軸將不同數(shù)組的維度對齊,這時候需要為數(shù)組添加維度(特別是將二維數(shù)組變成高維張量的情況下),numpy提供了expand_dims()函數(shù)來為數(shù)組增加維度,需要的朋友可以參考下
    2023-09-09
  • python辦公之python編輯word

    python辦公之python編輯word

    這篇文章主要介紹了python辦公之python編輯word,文章我們以python操作word為例來介紹一些簡單的操作,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Python自動化辦公技巧分享

    Python自動化辦公技巧分享

    Python自動化辦公是指用Python程序來完成某些需要重復(fù)性操作的工作,例如大批量的文件處理等,本篇文章將介紹Python自動化辦公的基本概念和常用技術(shù),希望能對Python初學(xué)者提供一些幫助
    2023-06-06
  • python selenium 查找隱藏元素 自動播放視頻功能

    python selenium 查找隱藏元素 自動播放視頻功能

    這篇文章主要介紹了python selenium 查找隱藏元素 自動播放視頻功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • 關(guān)于python3.9安裝wordcloud出錯的問題及解決辦法

    關(guān)于python3.9安裝wordcloud出錯的問題及解決辦法

    這篇文章主要介紹了關(guān)于python3.9安裝wordcloud出錯的問題及解決辦法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Python實現(xiàn)的破解字符串找茬游戲算法示例

    Python實現(xiàn)的破解字符串找茬游戲算法示例

    這篇文章主要介紹了Python實現(xiàn)的破解字符串找茬游戲算法,簡單分析了找茬游戲的原理,并結(jié)合具體實例形式分析了Python實現(xiàn)破解找茬游戲的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • Python?Asyncio中Coroutines,Tasks,Future可等待對象的關(guān)系及作用

    Python?Asyncio中Coroutines,Tasks,Future可等待對象的關(guān)系及作用

    這篇文章主要介紹了Python?Asyncio中Coroutines,Tasks,Future可等待對象的關(guān)系及作用,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-06-06
  • django rest framework 過濾時間操作

    django rest framework 過濾時間操作

    這篇文章主要介紹了django rest framework 過濾時間操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評論