在Python中,os模块是一个强大而又常用的模块,它提供了许多功能,用于操作操作系统的文件和目录结构。通过使用os模块,我们可以轻松地完成各种文件和目录的操作,包括创建、删除、重命名和移动等。

基本功能

os模块提供了以下基本功能:

  • 获取和更改当前工作目录
  • 执行系统命令
  • 创建、删除、重命名和移动文件或目录
  • 查看和更改文件属性
  • 时间相关的功能,如获取和更改文件的最后访问时间和最后修改时间

获取和更改当前工作目录

我们可以使用os.getcwd()函数获取当前的工作目录,使用os.chdir()函数更改当前工作目录。下面是一个示例:

1
2
3
4
5
6
7
8
9
10
import os

# 获取当前目录
current_path = os.getcwd()
print("当前工作目录:", current_path)

# 切换到新目录
os.chdir(r"C:\Users\Administrator\Desktop")
new_path = os.getcwd()
print("更改后的工作目录:", new_path)

执行系统命令

通过os.system()函数,我们可以在Python中执行操作系统命令。例如,在控制台中执行dir命令或创建一个新目录:

1
2
3
4
5
6
7
import os

# 在控制台中执行dir命令
os.system("dir")

# 在控制台中直接创建一个新目录
os.system("mkdir NewDirectory")

对文件和目录进行操作

os模块还提供了许多用于操作文件和目录的函数:

  • os.mkdir():创建新目录
  • os.rmdir():删除目录
  • os.makedirs():创建多级目录
  • os.rename():重命名文件或目录
  • os.remove():删除文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import os

# 创建新目录
os.mkdir("NewDirectory")

# 在NewDirectory目录下创建新文件,写入一些数据
with open("NewDirectory/test.txt", "w") as f:
f.write("This is a test.")

# 重命名文件
os.rename("NewDirectory/test.txt", "NewDirectory/new_test.txt")

# 删除文件
os.remove("NewDirectory/new_test.txt")

# 删除目录
os.rmdir("NewDirectory")

文件和目录属性操作

os模块提供的os.path子模块,用于检查和更改文件或目录的属性:

  • os.path.isfile(path):用于检查提供的路径是否为文件
  • os.path.isdir(path):用于检查提供的路径是否为目录
  • os.path.exists(path):用于检查提供的路径是否存在
  • os.listdir(path):用于获取指定目录下的文件和目录
  • os.path.isabs(path):用于检查提供的路径是否是绝对路径
  • os.path.split(path):用于分离提供路径的文件名(带后缀)和目录名
  • os.path.splitext(path):用于分离提供路径的文件名(不带后缀)和目录名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import os

# 检查路径是否存在
path = "/Users/username/Documents/test.txt"
if os.path.exists(path):
print("文件存在")
else:
print("文件不存在")

# 获取当前文件绝对路径
path1 = os.path.abspath(__file__)
# 判断是否是绝对路径
if os.path.isabs(path1):
print('当前文件的绝对路径为:' + path1)
path2, file2 = os.path.split(path1)
if os.path.isdir(path2):
print('当前文件的目录为:' + path2)
if os.path.isfile(path1):
print('当前文件的文件名为:' + file2)