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

 更新时间:2023年04月20日 11:27:16   作者:Anera01  
我们在用python进行数据处理时往往需要将文件中的数据取出来做一些处理,下面这篇文章主要给大家介绍了关于Python获取与处理文件路径/目录路径的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

文件目录结构说明

一、路径获取

1.1 获取当前文件的绝对路径

使用**os.path.abspath()**获取当前文件的绝对路径。

import os
file_path = os.path.abspath(__file__)
print(file_path)

输出:

e:\Python\Path\python_path_test.py

1.2.1 获取当前文件的所在目录

使用**os.path.dirname()**获取当前文件的所在目录。

import os
directory_path = os.path.dirname(os.path.abspath(__file__))
print(directory_path)

输出:

e:\Python\Path

1.2.2 获取当前文件的所在目录的上一级目录

使用多个**os.path.dirname()**嵌套以获取当前文件的所在目录的上一级目录。

import os
parent_directory_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(parent_directory_path)

输出:

e:\Python

1.3 获取当前文件名

使用**os.path.basename()**获取当前文件的所在目录。

import os
file_name = os.path.basename(__file__)
print(file_name)

输出:

python_path_test.py

1.4 获取当前文件对于基准路径的相对路径

使用**os.path.relpath(file_path, base_path)**获取当前文件对于基准路径的相对路径。

import os
file_path = os.path.abspath(__file__) #获取当前文件的绝对路径
base_path = "E:\Python" #设置基准路径(计算相对路径的起始路径)
relative_path = os.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.py
Base Path: E:\Python
Relative Path: Path\python_path_test.py

二、路径判断

2.1 判断路径是否存在

使用**os.path.exists()**判断路径是否存在。

import os
path = "./data/data_file.txt"
is_exists = os.path.exists(path)
print(is_exists)

输出:

True

import os
path = "./data/data.txt"
is_exists = os.path.exists(path)
print(is_exists)

输出:

False

2.2 判断路径是否为绝对路径

使用**os.path.isabs()**判断路径是否为绝对路径。

import os
path = "E:\Python\Path\data\data_file.txt"
is_exists = os.path.isabs(path)
print(is_exists)

输出:

True

import os
path = "./data/data_file.txt"
is_exists = os.path.isabs(path)
print(is_exists)

输出:

False

2.3 判断路径是否为目录

使用**os.path.isdir()**判断路径是否为目录。

import os
path = "E:\Python\Path\data"
is_exists = os.path.isdir(path)
print(is_exists)

输出:

True

import os
path = "E:\Python\Path\data\data_file.txt"
is_exists = os.path.isdir(path)
print(is_exists)

输出:

False

2.4 判断路径是否为文件

使用**os.path.isfile()**判断路径是否为文件。

import os
path = "E:\Python\Path\data\data_file.txt"
is_exists = os.path.isfile(path)
print(is_exists)

输出:

True

import os
path = "E:\Python\Path\data"
is_exists = os.path.isfile(path)
print(is_exists)

输出:

False

三、路径处理

3.1 把多个目录/文件名合并(连接)为一个路径

使用**os.path.join(path1, path2, ···)**把多个目录/文件名合并(连接)为一个路径。

import os
path1 = "E:\Python"
path2 = "Path\data"
path3 = "data_file.txt"
path = os.path.join(path1, path2, path3)
print(path)

输出:

E:\Python\Path\data\data_file.txt

3.2 把路径分割为文件所在目录路径(dirname)和文件名(basename)

使用**os.path.split()**把路径分割为文件所在目录路径(dirname)和文件名(basename)。

import os
path = os.path.abspath(__file__)
result = os.path.split(path)
print(result)

输出:

('e:\\Python\\Path', 'python_path_test.py')

3.3 把路径分割为驱动器名(Windows操作系统)和文件路径

使用**os.path.splitdrive()**把路径分割为驱动器名(Windows)和文件路径。

import os
path = os.path.abspath(__file__)
result = os.path.splitdrive(path)
print(result)

输出:

('e:', '\\Python\\Path\\python_path_test.py')

3.4 把路径分割为文件路径和文件扩展名

使用**os.path.splitext()**把路径分割为文件路径和文件扩展名。

import os
path = os.path.abspath(__file__)
result = os.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,使字符保持原始含义。 如下所示:

r"E:\CloudMusic\MV\demo.txt"

方法3 将反斜杠替换为正斜杠(/)。如下所示:

“E:/CloudMusic/MV/demo.txt”

根据自己的习惯,选择调整即可。

总结

到此这篇关于Python获取与处理文件路径/目录路径的文章就介绍到这了,更多相关Python获取处理文件路径内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python批量提交沙箱问题实例

    python批量提交沙箱问题实例

    这篇文章主要介绍了python批量提交沙箱问题实例,针对批量提交沙箱出现的问题进行了针对性的分析与实例讲解,具有不错的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • 在Python中给Nan值更改为0的方法

    在Python中给Nan值更改为0的方法

    今天小编就为大家分享一篇在Python中给Nan值更改为0的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python tkiner实现 一个小小的图片翻页功能的示例代码

    python tkiner实现 一个小小的图片翻页功能的示例代码

    这篇文章主要介绍了python tkiner实现 一个小小的图片翻页功能,需要的朋友可以参考下
    2020-06-06
  • python3 下载网络图片代码实例

    python3 下载网络图片代码实例

    这篇文章主要介绍了python3 下载网络图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python中多个数组行合并及列合并的方法总结

    Python中多个数组行合并及列合并的方法总结

    下面小编就为大家分享一篇Python中多个数组行合并及列合并的方法总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python快速查找list中相同部分的方法

    Python快速查找list中相同部分的方法

    今天小编就为大家分享一篇Python快速查找list中相同部分的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 简单了解python代码优化小技巧

    简单了解python代码优化小技巧

    这篇文章主要介绍了简单了解python代码优化小技巧,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
    2019-07-07
  • 关于Pytorch的MNIST数据集的预处理详解

    关于Pytorch的MNIST数据集的预处理详解

    今天小编就为大家分享一篇关于Pytorch的MNIST数据集的预处理详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Django框架中模型的用法

    Django框架中模型的用法

    这篇文章介绍了Django框架中模型的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • python高阶函数functools模块的具体使用

    python高阶函数functools模块的具体使用

    本文主要介绍了python高阶函数functools模块的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论