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樓:杯具——悲劇
你聽說過副檔名嗎?
電路路徑問題,電路路徑是什麼
因為電流遇到導線就直接通過,不經過電阻 所以r1被短路 r2和r3並聯 電路路徑是什麼 電路是電流經過的路徑 它是一個閉環迴路,一般只要有迴路就可以導通。假如說中間電阻特別大,也可能不導通 在一個電路圖中怎樣看電流流經的路徑 電是從電源的正極出發,迴流到負極的,中間的流通原則是,找最近的,和損耗最少...
AI裡新增節點路徑不能和原路徑在同路徑上
樓主你好來!在ai中,如果不是閉合源路徑的話,還是可以直接使用鋼筆等進行從新畫圖,這是與原圖連線的 如果是閉合路徑,是沒法新增進去新的路徑,因此軟體沒有像cad一樣有打散的功能,軟體限制吧!建議重新畫好自己需要的,之後考慮上下重疊,再進行合併吧!用 號新增節點!也可以直接用鋼筆工具 p 當移到路徑上...
相對路徑與絕對路徑的區別,相對路徑絕對路徑
絕對路徑指的是針對電腦系統所在的準確位置,比如test在d盤下,而best在test 下,對它的描述 相對路徑是這樣的,best在test目錄下,絕對路徑是best在d盤test資料夾內。說白了,相對路徑一般指檔案或資料夾所在的位置相對於上一級目錄的位置。絕對路徑指檔案或者資料夾相對於電腦系統所在的...