[英]Imported python file with relative path inside
我的python 2.7項目中的相對路徑有問題。 我有兩個文件,我們稱它們為script.py和importedScript.py,它們具有不同的目錄,因為importedScript在子文件夾中。 ImportedScript.py有一個名為openCSV()的方法,該方法可以通過以下方式導入script.py中:
from subfolder.importedScript import openCSV
這很好。 方法openCSV(filename)內部包含以下代碼:
script_path = os.path.dirname(os.path.abspath(__file__))
filepath = os.path.join(script_path, 'subfolder2/' + filename)
dataset = pd.read_csv(filepath)
此代碼從子文件夾導入.csv文件。 如果我自己運行ImportedScript.py,這也可以正常工作。
現在的問題是,當我運行script.py時,importedScript.py中的相對路徑生成錯誤。 由於某些原因,系統嘗試從“ subfolder2 /”而不是“ subfolder / subfolder2”加載importedScript.py。
有誰知道如何解決這一問題?
編輯:在subfolder2中是不同的.csv文件,我想從不同的python文件中打開不同的文件。
您可以將__file__
變量傳遞給調用的方法:
def OpenCSV(file):
here = os.path.dirname(os.path.abspath(file))
...etc
可以通過執行OpenCSV(__file__)
來調用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.