Python 中的 OS Path 模块


os.path 模块是一个非常广泛使用的模块,在处理系统中不同位置的文件时非常方便。它用于不同的目的,例如在 python 中合并、规范化和检索路径名。所有这些函数都只接受字节或字符串对象作为其参数。其结果特定于其运行的操作系统。

os.path.basename

此函数提供路径的最后一部分,可以是文件夹或文件名。请注意 Windows 和 Linux 中路径表示方式的区别,体现在反斜杠和正斜杠的使用上。

示例

import os
# In windows
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)
# In nix*
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

os.path.dirname

此函数提供文件夹或文件所在的目录名。

示例

import os
# In windows
DIR = os.path.dirname("C:\Users\xyz\Documents\My Web Sites")
print(DIR)
# In nix*
DIR = os.path.dirname("/Documents/MyWebSites")
print(DIR)

运行上述代码得到以下结果:

输出

C:\Users\xyz\Documents
/Documents

os.path.isfile

有时我们需要检查给定的完整路径是表示文件夹还是文件。如果文件不存在,则输出为 False。如果文件存在,则输出为 True。

示例

print(IS_FILE)
IS_FILE = os.path.isfile("C:\Users\xyz\Documents\My Web Sites\intro.html")
print(IS_FILE)
# In nix*
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

os.path.normpath

这是一个有趣的函数,它将通过消除额外的斜杠或根据操作系统将反斜杠更改为正斜杠来规范化给定的路径。如您在下面看到的,输出根据您运行程序的操作系统而有所不同。

示例

import os
# Windows path
NORM_PATH = os.path.normpath("C:/Users/Pradeep/Documents/My Web Sites")
print(NORM_PATH)
# Unix Path
NORM_PATH = os.path.normpath("/home/ubuuser//Documents/")
print(NORM_PATH)

运行上述代码得到以下结果:

输出

# Running in Windows
C:\Users\Pradeep\Documents\My Web Sites
\home\ubuuser\Documents

# Running in Linux
C:/Users/Pradeep/Documents/My Web Sites
/home/ubuuser/Documents

更新于:2020-12-28

9K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告