python相对路径找不到文件_Python相对路径从子文件夹导入
首先發布到SO,所以如果我錯過了一些細節,請原諒我。
有沒有辦法使用來自另一個子文件夾的相對路徑而不需要通過os修改sys.path?最終這將從cgi網絡服務器運行,所以我寧愿遠離python.exe的任何-m參數。
我正在使用Python 2.7.3并且具有以下文件/目錄結構:
| myprog.py
|
+---functions
| myfunctions.py
| __init__.py
|
\---subfolder
mysub.py
在root中,我有一個名為myprog.py的單個.py文件:
#file .\myprog.py
from functions import *
hello("Hi from Main")
在functions文件夾中我有兩個文件,init .py,myfunctions.py:
#The File: functions\__init__.py :
from myfunctions import *
#The File: functions\myfunctions.py :
def hello(sometext):
print sometext
最后,在子文件夾中,我有:
#The File: subfolder\mysub.py :
from ..functions import *
hello("Hi From mysubprogram")
myprog.py執行正常(從父文件夾運行python.exe myprog.py時),打印“Hi From Main”,然而,mysub.py(從子文件夾執行時)不斷輸出錯誤:< i> ValueError:在非包中嘗試相對導入
我在mysub.py中嘗試了不同的組合,例如來自..functions.myfunctions import *但是沒有產生所需的結果。
但是無法弄清楚這一點。哦,一旦我開始工作,我想盡可能刪除import *,但是,每次調用時我都不必將完整路徑放到hello函數中,所以任何建議都在那里或者清理init.py(使用所有或以其他方式)將是一個獎勵。
其中,如果我要求的是不可能的,也許我問錯了。如果這只是一個徹頭徹尾的壞習慣,是使用sys.path實現目標的正確方法,還是有人可以推薦的其他內容(比如不調用../folders中的函數)?
總結
以上是生活随笔為你收集整理的python相对路径找不到文件_Python相对路径从子文件夹导入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python抖音github_GitHu
- 下一篇: python 数组写txt_python