Python获取与处理文件路径/目录路径实例代码

张开发
2026/4/19 23:52:01 15 分钟阅读

分享文章

Python获取与处理文件路径/目录路径实例代码
文件目录结构说明一、路径获取1.1 获取当前文件的绝对路径使用**os.path.abspath()**获取当前文件的绝对路径。123importosfile_pathos.path.abspath(__file__)print(file_path)输出e:\Python\Path\python_path_test.py1.2.1 获取当前文件的所在目录使用**os.path.dirname()**获取当前文件的所在目录。123importosdirectory_pathos.path.dirname(os.path.abspath(__file__))print(directory_path)输出e:\Python\Path1.2.2 获取当前文件的所在目录的上一级目录使用多个**os.path.dirname()**嵌套以获取当前文件的所在目录的上一级目录。123importosparent_directory_pathos.path.dirname(os.path.dirname(os.path.abspath(__file__)))print(parent_directory_path)输出e:\Python1.3 获取当前文件名使用**os.path.basename()**获取当前文件的所在目录。123importosfile_nameos.path.basename(__file__)print(file_name)输出python_path_test.py1.4 获取当前文件对于基准路径的相对路径使用**os.path.relpath(file_path, base_path)**获取当前文件对于基准路径的相对路径。1234567importosfile_pathos.path.abspath(__file__)#获取当前文件的绝对路径base_pathE:\Python#设置基准路径计算相对路径的起始路径relative_pathos.path.relpath(file_path, base_path)#计算从基准路径开始的相对路径print(Absolute Path: file_path)print(Base Path: base_path)print(Relative Path: relative_path)输出Absolute Path: e:\Python\Path\python_path_test.pyBase Path: E:\PythonRelative Path: Path\python_path_test.py二、路径判断2.1 判断路径是否存在使用**os.path.exists()**判断路径是否存在。1234importospath./data/data_file.txtis_existsos.path.exists(path)print(is_exists)输出True1234importospath./data/data.txtis_existsos.path.exists(path)print(is_exists)输出False2.2 判断路径是否为绝对路径使用**os.path.isabs()**判断路径是否为绝对路径。1234importospathE:\Python\Path\data\data_file.txtis_existsos.path.isabs(path)print(is_exists)输出True1234importospath./data/data_file.txtis_existsos.path.isabs(path)print(is_exists)输出False2.3 判断路径是否为目录使用**os.path.isdir()**判断路径是否为目录。1234importospathE:\Python\Path\datais_existsos.path.isdir(path)print(is_exists)输出True1234importospathE:\Python\Path\data\data_file.txtis_existsos.path.isdir(path)print(is_exists)输出False2.4 判断路径是否为文件使用**os.path.isfile()**判断路径是否为文件。1234importospathE:\Python\Path\data\data_file.txtis_existsos.path.isfile(path)print(is_exists)输出True1234importospathE:\Python\Path\datais_existsos.path.isfile(path)print(is_exists)输出False三、路径处理3.1 把多个目录/文件名合并(连接)为一个路径使用**os.path.join(path1, path2, ···)**把多个目录/文件名合并(连接)为一个路径。123456importospath1E:\Pythonpath2Path\datapath3data_file.txtpathos.path.join(path1, path2, path3)print(path)输出E:\Python\Path\data\data_file.txt3.2 把路径分割为文件所在目录路径(dirname)和文件名(basename)使用**os.path.split()**把路径分割为文件所在目录路径(dirname)和文件名(basename)。1234importospathos.path.abspath(__file__)resultos.path.split(path)print(result)输出(e:\\Python\\Path, python_path_test.py)3.3 把路径分割为驱动器名Windows操作系统和文件路径使用**os.path.splitdrive()**把路径分割为驱动器名(Windows)和文件路径。1234importospathos.path.abspath(__file__)resultos.path.splitdrive(path)print(result)输出(e:, \\Python\\Path\\python_path_test.py)3.4 把路径分割为文件路径和文件扩展名使用**os.path.splitext()**把路径分割为文件路径和文件扩展名。1234importospathos.path.abspath(__file__)resultos.path.splitext(path)print(result)输出(e:\\Python\\Path\\python_path_test, .py)附python正确读取文件路径的三种解决方法一、问题需求日常用程序读取文件数据等时常常会显示一些诸如文件路径不存在等错误信息。二、问题原因这类问题在python中主要是由于 “\”(反斜杠) 引起的。因为在Windows系统中使用 反斜杠\ 作为文件路径的分隔符但在python中反斜杠\ 会被标识为转义字符引起的。从而导致的程序报错。三、解决办法针对上述问题常用的解决方法有如下三种。以windows中的文件路径“E:\CloudMusic\MV\demo.txt” 为例。方法1 将路径中的单反斜杠替换为双反斜杠。如下所示“E:\CloudMusic\MV\demo.txt”方法2 在路径前加r使字符保持原始含义。 如下所示rE:\CloudMusic\MV\demo.txt方法3 将反斜杠替换为正斜杠/。如下所示“E:/CloudMusic/MV/demo.txt”根据自己的习惯选择调整即可。

更多文章