创建删除文件夹、文件(os模块)
在 Python 中,可以使用 os
和 shutil
模块来创建和删除文件夹、文件。以下是详细的示例和说明。
创建文件夹
使用 os.makedirs
可以递归创建文件夹,即创建多级目录。使用 os.mkdir
可以创建单级目录。
示例:创建单级目录
import os
def create_single_directory(directory):
try:
os.mkdir(directory)
print(f"目录 {directory} 创建成功")
except FileExistsError:
print(f"目录 {directory} 已经存在")
except Exception as e:
print(f"创建目录 {directory} 时发生错误: {e}")
# 示例调用
create_single_directory('new_folder')
示例:递归创建多级目录
import os
def create_multiple_directories(directory):
try:
os.makedirs(directory)
print(f"目录 {directory} 及其所有子目录创建成功")
except FileExistsError:
print(f"目录 {directory} 已经存在")
except Exception as e:
print(f"创建目录 {directory} 时发生错误: {e}")
# 示例调用
create_multiple_directories('parent_folder/child_folder')
删除文件夹
使用 os.rmdir
可以删除单级目录,前提是目录必须为空。使用 shutil.rmtree
可以递归删除目录及其所有内容。
示例:删除单级空目录
import os
def delete_single_directory(directory):
try:
os.rmdir(directory)
print(f"目录 {directory} 删除成功")
except FileNotFoundError:
print(f"目录 {directory} 不存在")
except OSError:
print(f"目录 {directory} 非空,无法删除")
except Exception as e:
print(f"删除目录 {directory} 时发生错误: {e}")
# 示例调用
delete_single_directory('new_folder')
示例:递归删除目录及其所有内容
import shutil
def delete_multiple_directories(directory):
try:
shutil.rmtree(directory)
print(f"目录 {directory} 及其所有子目录删除成功")
except FileNotFoundError:
print(f"目录 {directory} 不存在")
except Exception as e:
print(f"删除目录 {directory} 时发生错误: {e}")
# 示例调用
delete_multiple_directories('parent_folder')
创建文件
使用 open
函数可以创建文件。如果文件不存在,会自动创建;如果文件已存在,可以选择是否覆盖。
示例:创建文件并写入内容
def create_file(file_path, content=''):
try:
with open(file_path, 'w') as file:
file.write(content)
print(f"文件 {file_path} 创建成功")
except Exception as e:
print(f"创建文件 {file_path} 时发生错误: {e}")
# 示例调用
create_file('new_file.txt', 'Hello, world!')
删除文件
使用 os.remove
可以删除文件。
示例:删除文件
import os
def delete_file(file_path):
try:
os.remove(file_path)
print(f"文件 {file_path} 删除成功")
except FileNotFoundError:
print(f"文件 {file_path} 不存在")
except Exception as e:
print(f"删除文件 {file_path} 时发生错误: {e}")
# 示例调用
delete_file('new_file.txt')
综合示例
以下是一个综合示例,展示如何创建和删除文件夹及文件:
import os
import shutil
# 创建单级目录
def create_single_directory(directory):
try:
os.mkdir(directory)
print(f"目录 {directory} 创建成功")
except FileExistsError:
print(f"目录 {directory} 已经存在")
except Exception as e:
print(f"创建目录 {directory} 时发生错误: {e}")
# 递归创建多级目录
def create_multiple_directories(directory):
try:
os.makedirs(directory)
print(f"目录 {directory} 及其所有子目录创建成功")
except FileExistsError:
print(f"目录 {directory} 已经存在")
except Exception as e:
print(f"创建目录 {directory} 时发生错误: {e}")
# 删除单级空目录
def delete_single_directory(directory):
try:
os.rmdir(directory)
print(f"目录 {directory} 删除成功")
except FileNotFoundError:
print(f"目录 {directory} 不存在")
except OSError:
print(f"目录 {directory} 非空,无法删除")
except Exception as e:
print(f"删除目录 {directory} 时发生错误: {e}")
# 递归删除目录及其所有内容
def delete_multiple_directories(directory):
try:
shutil.rmtree(directory)
print(f"目录 {directory} 及其所有子目录删除成功")
except FileNotFoundError:
print(f"目录 {directory} 不存在")
except Exception as e:
print(f"删除目录 {directory} 时发生错误: {e}")
# 创建文件并写入内容
def create_file(file_path, content=''):
try:
with open(file_path, 'w') as file:
file.write(content)
print(f"文件 {file_path} 创建成功")
except Exception as e:
print(f"创建文件 {file_path} 时发生错误: {e}")
# 删除文件
def delete_file(file_path):
try:
os.remove(file_path)
print(f"文件 {file_path} 删除成功")
except FileNotFoundError:
print(f"文件 {file_path} 不存在")
except Exception as e:
print(f"删除文件 {file_path} 时发生错误: {e}")
# 示例调用
create_single_directory('example_folder')
create_multiple_directories('parent_folder/child_folder')
create_file('example_folder/example_file.txt', 'Hello, world!')
delete_file('example_folder/example_file.txt')
delete_single_directory('example_folder')
delete_multiple_directories('parent_folder')
通过这些示例,你可以了解如何在 Python 中创建和删除文件夹及文件。根据需要选择适合的函数来实现文件系统操作。
License:
CC BY 4.0