1. 概念介绍
在编写Python程序时,我们有时需要在程序中读取或写入本地文件。这就需要使用文件路径。在Python中,有两种路径方式:绝对路径和相对路径。
1.1 绝对路径
绝对路径是指文件在文件系统中的完整路径,包含文件所在磁盘、文件夹名称和文件名。在Python中,绝对路径的表示方式是从根目录开始的完整路径。
#示例代码,获取文件的绝对路径
import os
abs_path = os.path.abspath('test.txt')
print(abs_path)
在上面的示例代码中,使用了os.path.abspath()
函数来获取test.txt
文件的绝对路径。
1.2 相对路径
相对路径是指文件相对于当前工作目录的路径。在Python中,相对路径的表示方式不包括根目录,以当前工作目录为起点。
#示例代码,获取文件的相对路径
import os
rel_path = os.path.relpath('test.txt')
print(rel_path)
在上面的示例代码中,使用了os.path.relpath()
函数来获取test.txt
文件的相对路径。
2. 相对路径中的基准目录
在使用相对路径时,需要注意基准目录的问题。基准目录是指相对路径所相对的目录。
2.1 程序运行时的基准目录
在Python程序运行时,基准目录是当前工作目录。可以使用os.getcwd()
函数来获取当前工作目录。
#示例代码,获取当前工作目录
import os
current_dir = os.getcwd()
print(current_dir)
2.2 文件路径中的基准目录
在使用相对路径时,还需要考虑文件路径中的基准目录。如果没有指定文件路径的基准目录,则文件路径的基准目录是程序运行时的基准目录。
3. 引用其他文件夹中的文件
在Python中,可以使用相对路径来引用其他文件夹中的文件。
3.1 引用同级目录中的文件
如果要引用同级目录中的文件,可以直接使用文件名作为相对路径。
#引用同级目录中的test.txt文件
with open('test.txt', 'r') as f:
print(f.read())
3.2 引用其他目录中的文件
如果要引用其他目录中的文件,则需要将相对路径中的文件夹名称加入到路径中。
#引用同级目录中的data/test.txt文件
with open('data/test.txt', 'r') as f:
print(f.read())
4. 绝对路径和相对路径的比较
在使用绝对路径和相对路径时,需要考虑以下几个因素:
4.1 可移植性
绝对路径和相对路径都可以表示文件的路径,但是绝对路径在不同的操作系统之间不可移植,因为不同操作系统的文件路径表示方式不同。相对路径则没有这个问题,可以在不同的操作系统之间移植。
4.2 可读性
相对路径通常比绝对路径更易读,可以看出文件在文件系统中的相对位置,而绝对路径则只是一串包含文件路径的字符,不直观。
4.3 使用场景
在实际开发中,绝对路径和相对路径各有其有点,应根据具体的场景选择使用哪种方式。
5. 总结
绝对路径和相对路径是指文件在文件系统中的路径。在Python中,可以使用os.path.abspath()
函数来获取文件的绝对路径,使用os.path.relpath()
函数来获取文件的相对路径。相对路径需要考虑基准目录的问题,基准目录是指相对路径所相对的目录。使用相对路径可以引用其他文件夹中的文件。在使用绝对路径和相对路径时,需要考虑可移植性、可读性和使用场景。