一、绝对路径与相对路径
在Python中,文件路径有两种表示方式:绝对路径和相对路径。
绝对路径是指从根目录(Windows中是C:,Unix和Linux中是 / )开始一直到目标文件的完整路径。在使用绝对路径时,无论当前位置在哪里,都能准确地找到目标文件。
相对路径是指从当前位置开始,到目标文件的路径表示方法。相对路径只能在当前目录下找到文件,不能跨目录查找文件。相对路径的表示方法有两种:一种是以./开头,表示当前目录;另一种是以../开头,表示上一级目录。
#绝对路径
file_path = "C:/Users/Administrator/Desktop/test.txt"
with open(file_path, 'r', encoding='utf-8') as f:
print(f.read())
#相对路径
file_path = "./test.txt"
with open(file_path, 'r', encoding='utf-8') as f:
print(f.read())
二、os模块的使用
Python中os模块可以用于管理文件和目录,提供了一些常用的函数,方便于我们在编程中操作文件和目录。
os.path模块是os模块的子模块,提供了一些处理路径和目录的函数。
os.path.abspath()函数可以返回文件的绝对路径。
import os
file_path = "test.txt"
print(os.path.abspath(file_path))
os.path.join()函数可以将多个路径拼接成一个完整路径。
import os
path1 = "C:/Users/Administrator/Desktop"
path2 = "test.txt"
file_path = os.path.join(path1, path2)
print(file_path)
os.path.split()函数可以将路径分割成目录和文件名。
import os
file_path = "C:/Users/Administrator/Desktop/test.txt"
dir, file = os.path.split(file_path)
print(dir)
print(file)
三、glob模块的使用
glob模块可以用于查找符合条件的文件路径。
glob.glob()函数可以返回匹配指定模式的文件路径。
import glob
files_path = glob.glob("C:/Users/Administrator/Desktop/*.txt")
print(files_path)
glob.iglob()函数返回一个迭代器,可以逐个返回匹配指定模式的文件路径。
import glob
files_path = glob.iglob("C:/Users/Administrator/Desktop/*.txt")
for path in files_path:
print(path)
四、pathlib模块的使用
pathlib模块可以用于操作文件和文件夹的路径,提供了一些更加简洁易用的函数。
Path()函数可以创建Path对象,表示文件或文件夹的路径。
from pathlib import Path
file_path = Path("C:/Users/Administrator/Desktop/test.txt")
print(file_path)
Path().resolve()方法可以返回文件的绝对路径。
from pathlib import Path
file_path = Path("test.txt")
print(file_path.resolve())
Path().joinpath()方法可以将多个路径拼接成一个完整路径。
from pathlib import Path
path1 = Path("C:/Users/Administrator/Desktop")
path2 = "test.txt"
file_path = path1.joinpath(path2)
print(file_path)
Path().name和Path().parent属性可以分别返回文件的名称和父目录。
from pathlib import Path
file_path = Path("C:/Users/Administrator/Desktop/test.txt")
print(file_path.name)
print(file_path.parent)
五、总结
Python中操作文件路径有多种方式,可以通过os模块、glob模块和pathlib模块等实现。掌握这些方法可以更加方便地操作文件和目录。