在Python开发中,经常需要操作文件和目录。此时,就需要使用Python中的os模块。os模块提供了一系列与操作系统交互的函数,可实现文件和目录的创建、复制、删除、重命名、遍历等功能。本文将从多个方面介绍os模块的使用。
一、获取当前工作目录
import os
current_dir = os.getcwd()
print("当前工作目录:", current_dir)
os.getcwd()函数可以获取当前工作目录。输出结果如下:
当前工作目录:/Users/user_name
二、创建和删除目录
os.mkdir()函数可以创建目录,os.rmdir()函数可以删除目录。
import os
# 创建目录
os.mkdir("testdir")
# 判断目录是否存在
if os.path.exists("testdir"):
print("testdir目录存在")
# 删除目录
os.rmdir("testdir")
# 判断目录是否存在
if not os.path.exists("testdir"):
print("testdir目录不存在")
输出结果如下:
testdir目录存在 testdir目录不存在
三、遍历目录
os.walk()函数可以遍历目录及其子目录中的所有文件和子目录。
import os
# 遍历目录
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
输出结果如下:
./subdir/file1.txt ./subdir/subsubdir/file3.txt ./subdir/subsubdir ./subdir/file2.txt ./subdir ./file4.txt ./file3.txt ./file2.txt ./file1.txt .
四、文件操作
1. 文件读写
os模块提供了两种读写文件的方式:使用open函数和使用os.fdopen函数。
使用open函数:
import os
# 写文件
with open("file.txt", "w") as f:
f.write("hello, world!")
# 读文件
with open("file.txt", "r") as f:
print(f.read())
使用os.fdopen函数:
import os
# 写文件
fd = os.open("file.txt", os.O_WRONLY|os.O_CREAT)
with os.fdopen(fd, "w") as f:
f.write("hello, world!")
# 读文件
fd = os.open("file.txt", os.O_RDONLY)
with os.fdopen(fd, "r") as f:
print(f.read())
2. 文件重命名和删除
os.rename()函数可以重命名文件,os.remove()函数可以删除文件。
import os
# 重命名文件
os.rename("file.txt", "new_file.txt")
# 判断文件是否存在
if os.path.exists("new_file.txt"):
print("new_file.txt文件存在")
# 删除文件
os.remove("new_file.txt")
# 判断文件是否存在
if not os.path.exists("new_file.txt"):
print("new_file.txt文件不存在")
输出结果如下:
new_file.txt文件存在 new_file.txt文件不存在
五、总结
os模块是Python中非常实用的一个模块,可以实现对文件和目录的操作。本文主要介绍了os模块的多个方面,包括获取当前工作目录、创建和删除目录、遍历目录、文件读写、文件重命名和删除等。在实际开发中,不同的场景需要使用不同的函数来满足需求。