Python怎么获取与处理文件路径/目录路径

开发技术 作者:iii 2024-05-05 13:35:01
今天小编给大家分享一下Python怎么获取与处理文件路径/目录路径的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大...

今天小编给大家分享一下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(path2, path3, ···)**把多个目录/文件名合并(连接)为一个路径。

    import os
    path2 = "E:\\Python"
    path3 = "Path\\data"
    path4 = "data_file.txt"
    path = os.path.join(path2, path3, path4)
    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怎么获取与处理文件路径/目录路径”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注捷杰建站行业资讯频道。

    原创声明
    本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    本文链接:http://www.jiecseo.com/news/show_23316.html
    python