我有一个项目文件夹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)
打开,而不是相对于找到的目录?
答案 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路径