[問題] 如何import 同層但不同資料夾的模組?

作者: xsubarux (昴)   2020-03-25 19:53:16
小弟我剛開始接觸python,在import上遇到一些問題
原本我把執行檔放在模組上層的資料夾時是可以成功import的
https://i.imgur.com/CFH7mJ0.png
但當我試著將執行檔移至新創的資料夾時,即使試了網路上教的方法,仍然無法成功讀取
下圖為網路上的教學:
https://i.imgur.com/J9mObPe.png
我試了藍框內絕對路徑和相對路徑結果都失敗了
如下兩張圖:
絕對路徑
https://i.imgur.com/8iE64pC.png
相對路徑
https://i.imgur.com/410UWHK.png
想請問是我哪裡搞錯了嗎??
作者: bugbug777 (sil)   2020-03-25 20:35:00
兩個點表示上一層,一個點為目前程式執行檔所在的資料夾你使用了..,兩個點還是要指定在那個資料夾的模組名稱..python_prac.modules.line當你使用相對的路徑搜尋模式,這裡的相對是以你目前的程式執行檔為參考點
作者: xsubarux (昴)   2020-03-25 20:47:00
這個我之前試過也不行https://i.imgur.com/[email protected]我看網路上教學是..後只有子目錄,可是不管有沒有根目錄都會失敗
作者: bugbug777 (sil)   2020-03-25 21:03:00
我還是覺得我的說明不是很精準,你就花點時間看一下官方的說明文件吧。https://reurl.cc/oLgNkg因為python會有一個搜尋模組的參考路徑哈哈 我發現我一開始好像跟你說錯了,你就直接參考官方的教學文件比較清楚。你的執行程式好像跟modules是同一個資料夾,應該不用使用..而是使用.modules可能就可以使用了,反而是後面的例子,不用特別加上python_prac,而是直接用..modules.lines就可以吧,我猜
作者: xsubarux (昴)   2020-03-25 21:24:00
可是相對路徑失敗的那張圖用的就是..modules.line耶...
作者: bugbug777 (sil)   2020-03-25 21:28:00
哈哈,那我只能跟你說聲抱歉了,但是官方文件說明的滿清楚的不然你試試看用cmd去跑程式看看?
作者: xsubarux (昴)   2020-03-25 21:35:00
我再慢慢研究一下吧,還是感謝您
作者: bugbug777 (sil)   2020-03-25 21:45:00
我就再囉嗦一下吧,我看了一下它報錯是說沒有已知的parent package,不然你就試試看,不要import那個函式改成from ..modules import line?
作者: xsubarux (昴)   2020-03-25 22:09:00
@bugbug777 我成功啦啊啊啊啊,我發現是我的sys.path沒有modules的路徑,所以他找不到,把他加進去就成功了
作者: bugbug777 (sil)   2020-03-25 22:29:00
那就恭喜你啦XDD,繼續加油!!
作者: max36067 (圍巾喵)   2020-03-25 22:46:00
你的vscode抓到的資料夾(terminal)位置就是你現在的位置跟樓上說的一樣 不用加python_prac 也不用..做相對位置的處理哈哈 沒看到解決了 繼續加油~
作者: xsubarux (昴)   2020-03-25 23:02:00
感謝各位!!

Links booklink

Contact Us: admin [ a t ] ucptt.com