python import 路徑問題 新手

2021-07-08 21:58:24 字數 4198 閱讀 3225

1樓:豐豐的風箏

1.python import模組時, 是在sys.path裡按順序查詢的;

2.sys.path是一個列表,裡面以字串的形式儲存了許多路徑;

電腦程式常見問題解決方法:

網路設定的問題:這種原因比較多出現在需要手動指定ip、閘道器、dns伺服器聯網方式下,及使用**伺服器上網的。仔細檢查計算機的網路設定。

網路協議和網絡卡驅動的問題:ie無法瀏覽,有可能是網路協議(特別是tcp/ip協議)或網絡卡驅動損壞導致,可嘗試重新網絡卡驅動和網路協議。

2樓:盜墓者

兩個方法:

1.用系統模組sys下的path方法就行。

加入進去後,就可以正常import了

比如我把c盤根目錄加入進去:

這樣,我就可以直接import匯入c盤下的py檔案了2.設定環境變數。把你希望的路徑直接設定到環境變數裡,就可以正常import了

補充,用__init__.py是讓這個資料夾成為一個包,還是沒有根本的解決問題

3樓:匿名使用者

以下為純手打,下面給幾個demos:

說明:modules所在的目錄在python裡叫package, 下面是一個名為 isdir的package(實際上就是一個目錄), package下面有4個modules(a, b, c, d)和一個__init__.py檔案,目錄結構如下:

isdir/

a.py  b.py  c.py  d.py __init__.py

大體來講,有兩種方法可以呼叫某目錄下(包括遞迴目錄)的modules.

一.  __init__.py為空時

1.1 以下為呼叫modulea的**:

#!/usr/bin/env python

from isdir import a

a.say()

輸出:this is module a!

1.2 如果想呼叫modulea,b,c,d呢?

方法1.

#!/usr/bin/env python

from isdir import a

from isdir import b

from isdir import c

from isdir import d

a.say()

b.say()

c.say()

d.say()

方法2.

#!/usr/bin/env python

import isdir.a

import isdir.b

import isdir.c

import isdir.d

from isdir import *

a.say()

b.say()

c.say()

d.say()

錯誤示例1:

#!/usr/bin/env python

import isdir.a

a.say()

錯誤示例2:

#!/usr/bin/env python

from isdir import *

a.say()

錯誤的原因:

isdir/目錄下__init__.py 為空時,直接import isdir.a 或者from isdir import *是無效的.

從官方文件裡可以看到,__init__.py 裡沒有__all__ = [module1,module2,...]時,

from isdir import * 只能保證isdir被imported,  所以此時isdir裡的modules是無法被imported,

此時只有如我上面所寫的**所示才能正確執行,否則是錯誤的。官方解釋為:import isdir.

a並無任何意義,只有接著執行from isdir import *後,import isdir.a語句裡的module a才會被定義,所以完整的呼叫因改為: 1.

  import isdir.a   2. from isdir import *。

二.   __init__.py用all=[...]指定該package下可以被imported進去的module

__init__.py裡寫入如下內容:

% cat isdir/__init__.py

__all__ = ["a","b"]

然後使用之:

#!/usr/bin/env python

from isdir import *

a.say()

b.say()

結果:% python test.py

this is module a!

this is module b!

錯誤例項:

#!/usr/bin/env python

from isdir import *

c.say()

以上示例之所以錯誤,是因為c並沒有在__all__ = ["a","b"]裡制定,由此可見,package isdir下面的__init__.py裡,__all__=[...]具有隔離modules的作用。

補充:module a, b, c,d裡我分別只定義了一個method, 例如,以下為module a的code:

% cat isdir/a.py

def say():

print "this is module a!"

後記:謝謝這位同學,回答你的問題感覺很有收穫,順便又把python溫習了一遍。回頭把這些總結貼到我的blog上以上為手寫,望採納,共勉。

老子寫了這麼多居然採用了另一個簡陋的答案,mlgb的,枉我熬夜給你答題。這種白痴樓主就不配在這裡問問題。

4樓:匿名使用者

放在當前資料夾的子資料夾裡, 才好引用.

放在父資料夾的其他子檔案裡的.py要動態新增module的import路徑, 比較麻煩, 很少用.

你把test_case資料夾把到01***那個資料夾裡, 就很容易import了

python 相對路徑問題,新手。謝謝。

5樓:常山英豪

使用os模組來獲取當前檔案的絕對路徑和拼接路徑。

import os

base_dir = os.path.dirname(__file__) #獲取當前資料夾的絕對路徑

print base_dir

file_path = os.path.join(base_dir, 'test_data') #獲取當前資料夾內的test_data檔案

test_data = open(file_path, "r") #讀取檔案

for line in test_data:

print line

test_data.close() #關閉檔案

6樓:匿名使用者

我覺得你問的沒那麼難,

一個辦法是

apath = os.path.abspath('.') \忘記了,求絕對路徑的,

strpath = os.seq.join([apath,'04-test_data'])

l = os.listdir(strpath)

7樓:牛乃茴

加上r即可,即l = os.listdir(r'c:\my_script\\04-test_data'),r即raw data,原始資料的意思,那麼就不用轉義了。

python遇到問題 想import一個不在當前路徑下的.py程式

8樓:

所以,你只需要在你import語句前面,把login資料夾加到sys.path即可

9樓:匿名使用者

可以把login資料夾當成包來處理,在其中新建__init__.py即可,然後import login.login_main.py

10樓:

首先在你要import的程式所在的目錄建立一個空檔案,檔名必須為__init__.py

然後 from 目錄 import 程式 即可

python 使用 from import 匯入類,無法找到模組問題?

11樓:

把a檔案加上字尾名,變成"a.py"

12樓:杯具——悲劇

你聽說過副檔名嗎?

ae設定物體路徑運動,怎麼能讓物體隨著路徑旋轉(比如讓物體的

圖層 變換 自動方向,彈出對話方塊,選擇 沿路徑定向 確定。ae怎麼讓物體沿著路徑運動?先用mask話路徑。複製運動物體的關鍵幀。複製 黏貼到要跟蹤的屬性!ae操作,如何使物體延路徑移動同時轉動角度 10 ae 中怎樣使形狀沿路徑運動 新建一個固態層 在上面用鋼筆畫一個形狀 遮罩 選中該遮罩的遮罩形...

精雕做好圖怎麼做路徑把多餘的路徑不要

1 新建一個600 600的白色畫板,命名為路徑文字。2 畫布新建好了之後,我們在左側找到第三個圖示鋼筆工具。3 在白色畫布上面用鋼筆畫出自己想要的路徑。4 路徑畫好了,我們繼續左側找到文字工具。5 先用滑鼠在路徑上點一下,然後我們給它輸入文字。6 最後選中全部文字,開啟字元,在字號裡面輸入數字調整...

怎麼更改桌面路徑,電腦預設的「桌面」路徑怎麼改回來??

以下 複製貼上到記事本,另存為xx.bat,編碼選ansi echo off rem 更改桌面預設路徑 title z set newdesktop d desktop set olddesktop tmp v.v echo wsh.echo createobject wscript.shell s...