【Python基础】路径的获取与拼接

  在使用远程服务器编程时,不可避免的需要读取服务上的文件。为了获取文件的路径就必须掌握几个常用的获取路径的方法:如获取当前执行文件下路径和获取当前执行文件的上一级路径

1 获取绝对路径

abs_path = os.path.abspath(__file__) #获取当前文件的绝对路径
                                    #__file__:运行的文件
print(abs_path)
s = abs_path.split('\\')
print(s)

2 获取文件目录的路径

#想要获取文件的目录路径,必须先获取当前文件的绝对路径
#不建议使用相对路径获取文件的目录路径,易出错
#dir_name = os.path.dirname(__file__) #相对路径获取
dir_name = os.path.dirname(abs_path) #用绝对路径获取

#参数也可以(r'd:\abc\demo.txt'),不管文件存不存在,得到结果都是d:\abc\
#只是把参数当成字符串进行处理,存不存在无所谓,在open时,必须要存在
print(dir_name)

3 获取当前文件路径

# 获取当前文件路径
import os
os.getcwd()
# 获取上一级文件路径
os.path.dirname(os.getcwd())
# 检查指定文件夹下是否存在文件1)os.path.exists(路径)2)os.path.isfile(路径)
# 获取当前执行文件所在绝对路径
os.path.dirname(os.path.abspath(__file__))

4 路径拼接

# 1、先获取当前文件的绝对路径
# 2、获取当前文件的目录路径
# 3、当前文件的目录路径和pac01拼接
# 4、读取

#__file__:当前文件的文件名
#__name__:所在模块的模块名

#获取绝对路径
abs_path = os.path.abspath(__file__)

#获取目录路径
dir_name = os.path.dirname(abs_path) #2

#拼接
txt_file_path = os.path.join(dir_name, 'pac01', 'demo.txt')
print(txt_file_path)#D:\exe_file\python\x...x\pac01\demo.txt

with open(txt_file_path) as f:
    print(f.read())

参考文献

[1]python里读取文件路径上一级路径及文件的方法
[2]Python_路径的获取与拼接&常用操作
[3]python路径拼接os.path.join()函数完全教程

你可能感兴趣的:(Python学习,python)