簡體   English   中英

導入的python文件內部具有相對路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM