问题:为什么要设置绝对路径?
答案:
1.避免调用过程中,找不到文件
2.减少拼写路径的人为失误
3.文件路径不对时可以快速排查
4.方便文件迁移
# -*- coding: utf-8 -*-
# @__author__:choppa
# @DATA 2021/8/23
# 设置绝对路径以免文件调用过程中使用相对路径找不到文件的情况
import os
dir0 = os.path.abspath(__file__) # abspath 获取绝对路径 此路径为配置所有文件绝对路径所在的绝对路径 path_handle.py 所在绝对路径
dir1 = os.path.dirname(__file__) # dirname 获取上级目录
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 重复嵌套获取到工程目录
# join(父级的绝对路径,目标文件或文件夹所在路径) 这个工程中以工程目录为父级目录,依次添加其他文件的绝对路径
# 根据工程目录设置输入输出文件的绝对路径,一般包括:xls,yaml,configs,logs,report等等,第一个写入父级目录,下面写入文件或文件夹所在路径
# In 输入型文件路径要具体到文件
xls_dir = os.path.join(base_dir, r'data\Delivery_System_excel-V1.5.xls')
# Out 输出型文件路径具体到文件夹
logs_dir = os.path.join(base_dir, 'logs')
if __name__ == '__main__':
print('当前文件的绝对路径:', dir0)
print('当前文件的上级绝对路径:', dir1)
print('当前文件的上上级绝对路径', base_dir, '这个也是此工程目录的绝对路径')
print(xls_dir)
print(logs_dir)