绝对路径相对路径是文件系统中用来指定文件位置的两种方式。

1. 绝对路径 (Absolute Path)

  • 定义:绝对路径是从文件系统的根目录开始,完整的指定文件或目录的位置。无论当前工作目录在哪,绝对路径始终指向同一个位置。
  • 示例:在Windows中,绝对路径可能是 C:\Users\Alice\Documents\file.txt;在Linux中,它可能是 /home/alice/documents/file.txt

2. 相对路径 (Relative Path)

  • 定义:相对路径是相对于当前工作目录的文件或目录位置。它不以根目录为起点,而是根据当前文件位置来推断。
  • 示例:如果当前目录是 /home/alice/,那么 documents/file.txt 就是一个相对路径,指向 /home/alice/documents/file.txt

代码示例

假设当前工作目录为 /home/alice/,且有以下文件和目录:

/home/alice/
    ├── documents/
    │   ├── file1.txt
    │   └── file2.txt
    └── images/
        └── image1.jpg
  • 绝对路径示例
  • file1.txt 的绝对路径是 /home/alice/documents/file1.txt
  • image1.jpg 的绝对路径是 /home/alice/images/image1.jpg
  • 相对路径示例
  • /home/alice/ 目录,可以通过相对路径访问文件:documents/file1.txt
  • 如果当前目录是 /home/alice/documents/,要访问 file2.txt,则相对路径为 file2.txt

文件列表

/home/alice/
    ├── documents/
    │   ├── file1.txt
    │   └── file2.txt
    └── images/
        └── image1.jpg

示例代码:

import os

# 假设当前工作目录为 /home/alice/
current_directory = '/home/alice/'

# 绝对路径
absolute_path_file1 = os.path.join(current_directory, 'documents', 'file1.txt')
absolute_path_image1 = os.path.join(current_directory, 'images', 'image1.jpg')

print("绝对路径 file1.txt:", absolute_path_file1)
print("绝对路径 image1.jpg:", absolute_path_image1)

# 相对路径
relative_path_file1 = os.path.join('documents', 'file1.txt')
relative_path_image1 = os.path.join('images', 'image1.jpg')

print("相对路径 file1.txt:", relative_path_file1)
print("相对路径 image1.jpg:", relative_path_image1)

输出:

绝对路径 file1.txt: /home/alice/documents/file1.txt
绝对路径 image1.jpg: /home/alice/images/image1.jpg
相对路径 file1.txt: documents/file1.txt
相对路径 image1.jpg: images/image1.jpg

总结

  • 绝对路径:从根目录开始的完整路径,始终唯一。
  • 相对路径:相对于当前目录的路径,可能会根据当前工作目录的不同而变化。