本文将从多个方面详细介绍Python文件操作路径的相关知识。
一、基础概念
在Python中,要操作文件需要指定文件的路径。路径指的是文件在计算机中的位置,分为绝对路径和相对路径。绝对路径指的是文件所在的完整路径,相对路径指的是文件相对于当前位置的路径。在代码中,一般使用字符串来表示路径。
例如,在Windows系统中,绝对路径可以是类似于
C:UsersUserNameDesktoptest.txt的形式,其中
C:是磁盘名,
UsersUserNameDesktoptest.txt是文件在计算机中的完整路径。相对路径可以是类似于
.test.txt的形式,其中
.表示当前路径。
Python提供了许多操作文件路径的模块和函数,其中最常用的是os模块和os.path模块。
二、os模块
os模块是Python的一个标准库,提供了许多操作文件和文件夹的函数。其中,与文件路径相关的函数有:
os.getcwd()
:获取当前工作目录。os.chdir(path)
:改变当前工作目录为指定路径。os.listdir(path='.')
:返回指定目录下的所有文件和文件夹的名称列表。os.mkdir(path)
:创建一个文件夹。os.makedirs(name)
:递归地创建多个文件夹。os.remove(path)
:删除一个文件。os.rmdir(path)
:删除一个空文件夹。os.removedirs(name)
:递归地删除多个空文件夹。
例如:
import os
print(os.getcwd()) # 获取当前工作目录
os.chdir('C:/Users/UserName/Desktop') # 改变当前工作目录
print(os.listdir()) # 返回指定目录下的所有文件和文件夹的名称列表
os.mkdir('test') # 创建一个名为test的文件夹
os.makedirs('test1/test2') # 递归地创建test1和test2两个文件夹
os.remove('test.txt') # 删除当前目录下名为test.txt的文件
os.rmdir('test') # 删除名为test的空文件夹
os.removedirs('test1/test2') # 递归地删除test1和test2两个空文件夹
三、os.path模块
os.path模块是os模块的一个子模块,提供了许多关于文件路径的函数。其中,与文件路径操作相关的函数有:
os.path.join(path1, path2, ...)
:拼接多个路径。os.path.abspath(path)
:返回指定路径的绝对路径。os.path.relpath(path, start='.')
:返回从start到path的相对路径。os.path.dirname(path)
:返回文件所在的目录。os.path.basename(path)
:返回文件的名称(包括后缀名)。os.path.splitext(path)
:分割文件名和后缀名。os.path.exists(path)
:判断指定路径的文件或文件夹是否存在。os.path.isfile(path)
:判断指定路径是否为文件。os.path.isdir(path)
:判断指定路径是否为文件夹。
例如:
import os
path = os.path.join('C:/', 'Users', 'UserName', 'Desktop', 'test.txt') # 拼接多个路径
print(path)
print(os.path.abspath('test.txt')) # 返回test.txt的绝对路径
print(os.path.relpath('C:/Users/UserName/Desktop/test.txt')) # 返回相对路径
print(os.path.dirname('C:/Users/UserName/Desktop/test.txt')) # 返回文件所在的目录
print(os.path.basename('C:/Users/UserName/Desktop/test.txt')) # 返回文件的名称(包括后缀名)
print(os.path.splitext('C:/Users/UserName/Desktop/test.txt')) # 分割文件名和后缀名
print(os.path.exists('C:/Users/UserName/Desktop/test.txt')) # 判断test.txt文件是否存在
print(os.path.isfile('C:/Users/UserName/Desktop/test.txt')) # 判断test.txt是否为文件
print(os.path.isdir('C:/Users/UserName/Desktop')) # 判断Desktop是否为文件夹
四、总结
本文从基础概念、os模块、os.path模块三个方面对Python文件操作路径进行了详细的阐述,其中介绍了常见的路径操作函数和示例代码。通过学习本文,您可以更加熟练地操作文件路径,完成各种文件操作任务。