我的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文件中打开不同的文件。
答案 0 :(得分:0)
您可以将__file__
变量传递给调用的方法:
def OpenCSV(file):
here = os.path.dirname(os.path.abspath(file))
...etc
可以通过执行OpenCSV(__file__)
来调用