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...