Re: [問題] import 上層資料夾的module?

看板Python作者 (酷狗喵千代)時間17年前 (2008/02/04 06:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/8 (看更多)
※ 引述《StubbornLin (Victor)》之銘言: : 我想請問一下import上層資料夾除了使用 : sys.path.append('xxxx') : 這種方法,沒有其它比較....正式的寫法嗎= =? : 因為append的路徑又得是絕對路徑 : 這變成程式碼帶到別的地方跑又得重設 : 我是有在某些地方去parse目前這個檔案的路徑 : 然後找到上一層接著append到path的方法 : 可是我還是很困擾,明明它就在樓上,我卻非得繞一大圈才能爬到樓上 : 難道就沒有樓梯可以走嗎 囧? : 以上 不是什麼大問題的問題= =" 一般我是用 insert(0,'blah'),才不會被 $PYTHONPATH 擋住 :-) 不須要是絕對路徑: >>> import sys >>> sys.path.insert(0,'..') >>> import testmod >>> print testmod <module 'testmod' from '..\testmod.py'> 你想要的 relative import 去年 (還是前年?) 在 python-dev 結束討論, 結論是 PEP328,Python 2.5 有實作。 不過經過我長時間的測試 ... 最近又改回用 absolute import。 這個功能確實有它的用處,解決了一些問題,但不能說是很有用。 你會想用 relative import,看起來是因為程式碼組織得不好, 用了 relative import 可能反而容易出問題,程式也容易亂。 relative import 大概只適合用來避開 recursive import 死結的發生, 而且在 refactor 程式結構的時候還很容易出包。 我建議善用 package。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 164.107.249.126 ※ 編輯: yungyuc 來自: 164.107.249.126 (02/04 06:08) ※ 編輯: yungyuc 來自: 164.107.249.126 (02/04 06:14) ※ 編輯: yungyuc 來自: 164.107.249.126 (02/04 06:16)
文章代碼(AID): #17fZiQXY (Python)
討論串 (同標題文章)
文章代碼(AID): #17fZiQXY (Python)