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

看板Python作者 (爆漿小雷包)時間5年前 (2020/03/25 19:53), 編輯推噓4(4032)
留言36則, 3人參與, 5年前最新討論串1/1
小弟我剛開始接觸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
想請問是我哪裡搞錯了嗎?? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.71.15 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1585137198.A.9E7.html

03/25 20:35, 5年前 , 1F
兩個點表示上一層,一個點為目前程式執行檔所在的資料
03/25 20:35, 1F

03/25 20:35, 5年前 , 2F
03/25 20:35, 2F

03/25 20:40, 5年前 , 3F
你使用了..,兩個點還是要指定在那個資料夾的模組名稱
03/25 20:40, 3F

03/25 20:42, 5年前 , 4F
..python_prac.modules.line
03/25 20:42, 4F

03/25 20:43, 5年前 , 5F
當你使用相對的路徑搜尋模式,這裡的相對是以你目前的
03/25 20:43, 5F

03/25 20:43, 5年前 , 6F
程式執行檔為參考點
03/25 20:43, 6F

03/25 20:47, 5年前 , 7F
這個我之前試過也不行
03/25 20:47, 7F

03/25 20:55, 5年前 , 8F

03/25 20:57, 5年前 , 9F
我看網路上教學是..後只有子目錄,可是不管有沒有根目
03/25 20:57, 9F

03/25 20:57, 5年前 , 10F
錄都會失敗
03/25 20:57, 10F

03/25 21:03, 5年前 , 11F
我還是覺得我的說明不是很精準,你就花點時間看一下官
03/25 21:03, 11F

03/25 21:03, 5年前 , 12F
方的說明文件吧。
03/25 21:03, 12F

03/25 21:03, 5年前 , 13F
03/25 21:03, 13F

03/25 21:04, 5年前 , 14F
因為python會有一個搜尋模組的參考路徑
03/25 21:04, 14F

03/25 21:11, 5年前 , 15F
哈哈 我發現我一開始好像跟你說錯了,你就直接參考官
03/25 21:11, 15F

03/25 21:11, 5年前 , 16F
方的教學文件比較清楚。
03/25 21:11, 16F

03/25 21:13, 5年前 , 17F
你的執行程式好像跟modules是同一個資料夾,應該不用
03/25 21:13, 17F

03/25 21:13, 5年前 , 18F
使用..而是使用.modules可能就可以使用了,反而是後面
03/25 21:13, 18F

03/25 21:13, 5年前 , 19F
的例子,不用特別加上python_prac,而是直接用..modul
03/25 21:13, 19F

03/25 21:13, 5年前 , 20F
es.lines就可以吧,我猜
03/25 21:13, 20F

03/25 21:24, 5年前 , 21F
可是相對路徑失敗的那張圖用的就是..modules.line耶...
03/25 21:24, 21F

03/25 21:28, 5年前 , 22F
哈哈,那我只能跟你說聲抱歉了,但是官方文件說明的滿
03/25 21:28, 22F

03/25 21:28, 5年前 , 23F
清楚的
03/25 21:28, 23F

03/25 21:29, 5年前 , 24F
不然你試試看用cmd去跑程式看看?
03/25 21:29, 24F

03/25 21:35, 5年前 , 25F
我再慢慢研究一下吧,還是感謝您
03/25 21:35, 25F

03/25 21:45, 5年前 , 26F
我就再囉嗦一下吧,我看了一下它報錯是說沒有已知的
03/25 21:45, 26F

03/25 21:46, 5年前 , 27F
parent package,不然你就試試看,不要import那個函式
03/25 21:46, 27F

03/25 21:47, 5年前 , 28F
改成from ..modules import line?
03/25 21:47, 28F

03/25 22:09, 5年前 , 29F
@bugbug777 我成功啦啊啊啊啊,我發現是我的sys.path
03/25 22:09, 29F

03/25 22:09, 5年前 , 30F
沒有modules的路徑,所以他找不到,把他加進去就成功了
03/25 22:09, 30F

03/25 22:29, 5年前 , 31F
那就恭喜你啦XDD,繼續加油!!
03/25 22:29, 31F

03/25 22:46, 5年前 , 32F
你的vscode抓到的資料夾(terminal)位置就是你現在的位置
03/25 22:46, 32F

03/25 22:46, 5年前 , 33F
跟樓上說的一樣 不用加python_prac 也不用..做相對位置
03/25 22:46, 33F

03/25 22:46, 5年前 , 34F
的處理
03/25 22:46, 34F

03/25 22:47, 5年前 , 35F
哈哈 沒看到解決了 繼續加油~
03/25 22:47, 35F

03/25 23:02, 5年前 , 36F
感謝各位!!
03/25 23:02, 36F
文章代碼(AID): #1UUqOkdd (Python)
文章代碼(AID): #1UUqOkdd (Python)