如何用Python操纵路径名
在这篇文章中,我们将学习使用Python操纵路径名。
下面提到了一些不同的例子
- 从文件路径中获取主文件名
-
从文件路径中获取目录名
-
将路径组件连接在一起
-
扩展用户的主目录
-
从文件路径中拆分文件扩展名
算法(步骤)
以下是执行所需任务时需要遵循的算法/步骤。-
- 使用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
扩展用户的主目录
os.path.expanduser()函数
Python函数 os.path.expanduser() 将指定路径中的初始路径~(tilde符号)或~用户扩展到用户的主目录。
语法
以下是该函数的语法。
os.path.expanduser(path)
例子
下面的程序使用expanduser()函数返回用户主目录的扩展路径—-。
# 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')
总结
在这篇文章中,我们学习了如何使用操作系统模块来修改路径名称。从文件路径中,我们学会了如何提取主要(基本)文件名和目录名。我们学习了如何结合路径的组成部分名称和路径。我们讨论了用户主目录的扩展过程。最后,我们弄清楚了如何将文件路径与扩展名分开。