该os.path模块是一个非常广泛使用的模块,在处理来自系统不同位置的文件时非常方便。它用于不同的目的,例如在 python 中合并、规范化和检索路径名。所有这些函数都只接受字节或只接受字符串对象作为它们的参数。它的结果特定于运行它的操作系统。
此函数为我们提供路径的最后一部分,可能是文件夹或文件名。请在 Windows 和 Linux 中在反斜杠和正斜杠方面如何提及路径的区别。
import os # 在窗口中 fldr = os.path.basename("C:\\Users\\xyz\\Documents\\My Web Sites") print(fldr) file = os.path.basename("C:\\Users\\xyz\\Documents\\My Web Sites\\intro.html") print(file) # 在尼克斯* fldr = os.path.basename("/Documents/MyWebSites") print(fldr) file = os.path.basename("/Documents/MyWebSites/music.txt") print(file)
运行上面的代码给我们以下结果 -
输出结果
My Web Sites intro.html MyWebSites music.txt
该函数为我们提供了文件夹或文件所在的目录名称。
import os # 在窗口中 DIR = os.path.dirname("C:\\Users\\xyz\\Documents\\My Web Sites") print(DIR) # 在尼克斯* DIR = os.path.dirname("/Documents/MyWebSites") print(DIR)
运行上面的代码给我们以下结果 -
输出结果
C:\Users\xyz\Documents /Documents
有时我们可能需要检查给定的完整路径是否代表文件夹或文件。如果文件不存在,那么它将给出 False 作为输出。如果文件存在,则输出为 True。
print(IS_FILE) IS_FILE = os.path.isfile("C:\\Users\\xyz\\Documents\\My Web Sites\\intro.html") print(IS_FILE) # 在尼克斯* IS_FILE = os.path.isfile("/Documents/MyWebSites") print(IS_FILE) IS_FILE = os.path.isfile("/Documents/MyWebSites/music.txt") print(IS_FILE)
运行上面的代码给我们以下结果 -
输出结果
False True False True
这是一个有趣的函数,它将通过消除额外的斜杠或将反斜杠更改为正斜杠来规范化给定的路径,具体取决于它是哪个操作系统。正如您所看到的,下面的输出因您运行程序的操作系统而异。
import os # 窗口路径 NORM_PATH = os.path.normpath("C:/Users/Pradeep/Documents/My Web Sites") print(NORM_PATH) # Unix 路径 NORM_PATH = os.path.normpath("/home/ubuuser//Documents/") print(NORM_PATH)
运行上面的代码给我们以下结果 -
输出结果
# 在 Windows 中运行 C:\Users\Pradeep\Documents\My Web Sites \home\ubuuser\Documents # 在 Linux 中运行 C:/Users/Pradeep/Documents/My Web Sites /home/ubuuser/Documents