如何使用 Python 操作路径名?
在本文中,我们将学习如何使用 Python 操作路径名。
下面是一些不同的示例 −
从文件路径获取主文件名
从文件路径获取目录名
将路径组件组合在一起
扩展用户的 home 目录
从文件路径拆分文件扩展名
算法(步骤)
以下是执行所需任务的算法/步骤。−
使用 import 关键字导入 os 模块。
创建一个变量来存储 输入文件路径。
使用 os 模块的 basename() 函数(从给定的文件路径返回基本名称)获取输入文件路径的最后一个组件(主文件名)并打印它。
从文件路径获取主文件名
示例
以下程序使用 os.path.basename() 函数从输入文件返回主文件名 −
# importing os module import os # input path of the file inputFilepath = 'C:/Users/cirus/Desktop/tutorialsPoint.pdf' # Printing the given input path print("Give Input Path is:",inputFilepath) # getting the last component(main file name )of the input file path print("Base Name of the given path is :",os.path.basename(inputFilepath))
输出
执行上述程序将生成以下输出 −
Give Input Path is: C:/Users/cirus/Desktop/tutorialsPoint.pdf Base Name of the given path is: tutorialsPoint.pdf
从文件路径获取目录名
使用 os.path.dirname() 函数(从给定的文件路径返回目录名)通过将输入文件路径作为参数传递给它来获取给定输入文件路径的目录/文件夹。
示例
以下程序使用 os.path.dirname() 函数从输入文件路径返回目录名 −
# importing os module import os # input path of the file inputFilepath = 'C:/Users/cirus/Desktop/tutorialsPoint.pdf' # Printing the given input path print("Give Input Path is:",inputFilepath) # getting the directory/folder path from the input file path using dirname() function print("Directory path of the given path is: ",os.path.dirname(inputFilepath))
输出
执行上述程序将生成以下输出 −
Give Input Path is: C:/Users/cirus/Desktop/tutorialsPoint.pdf Directory path of the given path is: C:/Users/cirus/Desktop
将路径组件组合在一起
os.path.join() 函数
Python 的 os.path.join() 函数有效地连接了一个或多个路径组件。除了最后一个路径组件之外,此方法通过在每个非空部分之后放置一个目录分隔符 ('/') 来连接不同的路径组件。如果要连接的最后一个路径组件为空,则在末尾添加目录分隔符 ('/')。
如果路径组件表示绝对路径,则所有先前连接的组件都将被删除,并且连接将从绝对路径组件继续。
示例
以下程序使用 os.path.join() 函数将给定的路径组件与基本名称连接起来 −
# importing os module import os # input path of the file inputFilepath = 'C:/Users/cirus/Desktop/kohli.pdf' # Printing the given input path print("Give Input Path is:",inputFilepath) # joining the components to the main file name of the input file path print("Joining the given paths to input Path:\n", os.path.join('tutorials', 'python', os.path.basename(inputFilepath)))
输出
执行上述程序将生成以下输出 −
Give Input Path is: C:/Users/cirus/Desktop/kohli.pdf Joining the given paths to input Path: tutorials/python/kohli.pdf
扩展用户的 home 目录
os.path.expanduser() 函数
Python 函数 os.path.expanduser() 将指定路径中的初始路径 ~(波浪号) 或 ~user 扩展到用户的 home 目录。
语法
以下是函数的语法。
os.path.expanduser(path)
示例
以下程序使用 expanduser() 函数返回用户 home 目录的扩展路径 −
# importing os module import os # input path of the file inputFilepath = '~/Users/cirus' # Printing the given input path print("Give Input Path is:",inputFilepath) # Expanding the user's home directory print("Expanded Path is:\n",os.path.expanduser(inputFilepath))
输出
执行上述程序将生成以下输出 −
Give Input Path is: ~/Users/cirus Expanded Path is: /root/Users/cirus
从文件路径拆分文件扩展名
os.path.splitext() 函数 − 将文件路径名拆分为一对根和扩展名。此处的根是除文件扩展名之外的所有内容。
如果给定的文件路径没有扩展名,则扩展名为空。如果给定路径有前导句点 ('.'),则将忽略该路径。
语法
以下是函数的语法。
os.path.splitext(path)
使用 os.path.splitext() 函数从输入文件路径拆分文件路径和文件扩展名。
示例
以下程序使用 os.path.splitext() 函数从输入文件路径拆分主文件路径和文件扩展名 −
# importing os module import os # input path of the file inputFilepath ='C:/Users/cirus/Desktop/tutorialsPoint.pdf' # Printing the given input path print("Give Input Path is:",inputFilepath) # splitting the file path and file extension from the input file path # using the splitext() function print("Splitting the given path by extension:\n",os.path.splitext(inputFilepath))
输出
执行上述程序将生成以下输出 −
Give Input Path is: C:/Users/cirus/Desktop/tutorialsPoint.pdf Splitting the given path by extension: ('C:/Users/cirus/Desktop/tutorialsPoint', '.pdf')
结论
在本文中,我们学习了如何使用 OS 模块修改路径名。从文件路径中,我们学习了如何提取主要(基本)文件名和目录名。我们学习了如何组合路径的组件名称和路径。讨论了用户 home 目录扩展过程。最后,我们弄清楚了如何将文件路径与扩展名分离。