验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

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

阅读:867 来源:乙速云 作者:代码code

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

      文件目录结构说明

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

      一、路径获取

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

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

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

      输出:

      e:PythonPathpython_path_test.py

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

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

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

      输出:

      e:PythonPath

      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:PythonPathpython_path_test.py
      Base Path: E:Python
      Relative Path: Pathpython_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:PythonPathdatadata_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:PythonPathdata"
      is_exists = os.path.isdir(path)
      print(is_exists)

      输出:

      True

      import os
      path = "E:PythonPathdatadata_file.txt"
      is_exists = os.path.isdir(path)
      print(is_exists)

      输出:

      False

      2.4 判断路径是否为文件

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

      import os
      path = "E:PythonPathdatadata_file.txt"
      is_exists = os.path.isfile(path)
      print(is_exists)

      输出:

      True

      import os
      path = "E:PythonPathdata"
      is_exists = os.path.isfile(path)
      print(is_exists)

      输出:

      False

      三、路径处理

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

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

      import os
      path2 = "E:Python"
      path3 = "Pathdata"
      path4 = "data_file.txt"
      path = os.path.join(path2, path3, path4)
      print(path)

      输出:

      E:PythonPathdatadata_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:CloudMusicMVdemo.txt” 为例。

      方法1 将路径中的单反斜杠替换为双反斜杠。如下所示:

      “E:CloudMusicMVdemo.txt”

      方法2 在路径前加r,使字符保持原始含义。 如下所示:

      r"E:CloudMusicMVdemo.txt"

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

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

    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>