Re: [問題] import 上層資料夾的module?
※ 引述《StubbornLin (Victor)》之銘言:
: 我剛測試了一下翻了一下書,找了一下資料,它第一個找的directory似乎不是cwd
: 而是被invoke的script的所在目錄,這樣造成我一個很大的困擾
你說的沒錯,是我講得不對
通常我的 script 都放在 cwd,結果自己也搞混了 :p
: [del]
: 我有很多檔案得執行,例如很多的unittest的檔案
: 在這種情況下,以上面的例子來看
: 不修改path的前提下,所有的test檔都得擠到project下
: 我可不想這麼做= =
: 除了test,所有想執行的檔案,也一樣得擠到project裡面
: [del]
: 例如sqlite3好了,雖然他的test是sqlite的一個sub package
: 不過他就直接寫 import sqlite3
: 因為他們是library,被執行肯定就是設好在path裡了
: 所以import sqlite3會在PYTHONPATH裡被找到
: 可是我的專案不是,我不想執行還非得找個固定的資料夾
: 然後把位置加到path裡
: 我想要我在哪裡執行都可以,所以非修改path不可?
任何程式都可以分成 frontend 和 library。如果實在分不出來 library,
表示 frontend 只需要裝在一個檔裡就夠了,就也不用傷這個腦筋 :p
你有很多 frontend,又要 import 共用的部分,似乎正合適重構成兩段?
或許可以參考 tg-admin.py 和 django-admin.py 的模式。
另外你提到 sqlite3。
lib 和 site-packages 都是預設的搜尋目錄,當然允許 import sqlite3。
這是規則的一部分。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 164.107.249.126
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 6 之 8 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章