python

导航

Python绝对路径和相对路径详解

来源 :中华考试网 2020-09-21

   什么是当前工作目录

  每个运行在计算机上的程序,都有一个“当前工作目录”(或 cwd)。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。

  注意,虽然文件夹是目录的更新的名称,但当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。

  在 Python 中,利用 os.getcwd() 函数可以取得当前工作路径的字符串,还可以利用 os.chdir() 改变它。例如,在交互式环境中输入以下代码:

  >>> import os

  >>> os.getcwd()

  'C:\\Users\\mengma\\Desktop'

  >>> os.chdir('C:\\Windows\\System32')

  >>> os.getcwd()

  'C:\\Windows\\System32'

  可以看到,原本当前工作路径为 'C:\\Users\\mengma\\Desktop'(也就是桌面),通过 os.chdir() 函数,将其改成了 'C:\\Windows\\System32'。

  需要注意的是,如果使用 os.chdir() 修改的工作目录不存在,Python 解释器会报错,例如:

  >>> os.chdir('C:\\error')

  Traceback (most recent call last):

  File "", line 1, in

  os.chdir('C:\\error')

  FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'C:\\error'

  了解了当前工作目录的具体含义之后,接下来介绍绝对路径和相对路径各自的含义和用法。

  什么是绝对路径与相对路径

  明确一个文件所在的路径,有 2 种表示方式,分别是:

  绝对路径:总是从根文件夹开始,Window 系统中以盘符(C:、D:)作为根文件夹,而 OS X 或者 Linux 系统中以 / 作为根文件夹。

  相对路径:指的是文件相对于当前工作目录所在的位置。例如,当前工作目录为 "C:\Windows\System32",若文件 demo.txt 就位于这个 System32 文件夹下,则 demo.txt 的相对路径表示为 ".\demo.txt"(其中 .\ 就表示当前所在目录)。

  Python处理绝对路径和相对路径

  Python os.path 模块提供了一些函数,可以实现绝对路径和相对路径之间的转换,以及检查给定的路径是否为绝对路径,比如说:

  调用 os.path.abspath(path) 将返回 path 参数的绝对路径的字符串,这是将相对路径转换为绝对路径的简便方法。

  调用 os.path.isabs(path),如果参数是一个绝对路径,就返回 True,如果参数是一个相对路径,就返回 False。

  调用 os.path.relpath(path, start) 将返回从 start 路径到 path 的相对路径的字符串。如果没有提供 start,就使用当前工作目录作为开始路径。

  调用 os.path.dirname(path) 将返回一个字符串,它包含 path 参数中最后一个斜杠之前的所有内容;调用 os.path.basename(path) 将返回一个字符串,它包含 path 参数中最后一个斜杠之后的所有内容。

分享到

相关资讯