获取目录,需要先导入os模块!
获取当前目录
print(os.getcwd()) print(os.path.abspath(os.path.dirname(__file__)))
获取上级目录
print(os.path.abspath(os.path.dirname(os.path.dirname(__file__)))) print(os.path.abspath(os.path.dirname(os.getcwd()))) print(os.path.abspath(os.path.join(os.getcwd(), "..")))
获取上上级目录
print(os.path.abspath(os.path.join(os.getcwd(), "../..")))
封装获取父级目录
def get_parent_dir(path=None, offset=-1): result = path if path else __file__ for i in range(abs(offset)): result = os.path.dirname(result) return result
PS:
1、涉及到文件读取等相关操作时,若将文件目录写死则当项目转移到另一台机器的时候就需要重新修改目录,会显得十分麻烦。此时,就可以将涉及文件目录的地方都用相对目录代替。
2、在程序开头获取代码文件的当前目录(保存为变量path),以后涉及到文件读写的时候就写为path+‘文件相对目录’,如此一来,在项目转移到其他机器时不用重复修改文件的目录。