在Python中设置子目录的文件相对于父目录的工作路径

时间:2016-07-18 14:36:54

标签: python filepath

我有一个项目文件夹PythonProject。 在该项目文件夹中,我有2个子目录:SubDirectory& DataSubDirectory

在SubDirectory中,我有一个python文件,TestFile.py,它打开一个包含在DataSubDirectory中的外部文件datafile.txt。

目前,我打开这个文件; open(..\\DataSubDirectory\\data.txt)

是否有一种方法可以将TestFile.py中的任何文件路径设置为相对于父项目文件夹,以便将文件移动到另一个子目录,或者放在父目录中,我不会得到文件路径错误?效果是任何文件都是这样打开的; open(data\\data.txt)实际上会以open(PythonProject\\data\\data.txt)打开,而不是相对于找到的目录?

2 个答案:

答案 0 :(得分:1)

如果从Project文件夹运行,请将变量(PRJ_PATH)设置为os.getcwd()并将其用于打开文件,如open(os.path.join(PRJ_PATH,'data','data.txt') ))

如果从子目录运行,请将变量(PRJ_PATH)设置为os.path.join(os.getcwd(),'..'),然后使用它打开文件,如open(os.path.join) (PRJ_PATH,'data','data.txt'))

答案 1 :(得分:0)

您可以使用PythonProject = os.path.dirname(os.path.realpath(sys.argv[0]))设置PythonProject路径

相关问题