如何在Python中使用utility函数进行文件操作
发布时间:2024-01-14 19:01:34
在Python中,可以使用内置的os模块和shutil模块来进行文件操作,同时也可以自定义一些utility函数来简化文件操作的过程。
下面是使用os模块和shutil模块进行文件操作的一些常见的utility函数。
1. 检查文件或目录是否存在:
import os
def file_exists(file_path):
return os.path.exists(file_path)
def directory_exists(dir_path):
return os.path.isdir(dir_path)
这两个函数分别使用os.path.exists()和os.path.isdir()函数来检查文件或目录是否存在。
示例使用方法:
file_path = 'path/to/file.txt' print(file_exists(file_path)) dir_path = 'path/to/directory' print(directory_exists(dir_path))
2. 创建目录:
import os
def create_directory(dir_path):
try:
os.makedirs(dir_path)
print(f"Directory {dir_path} created successfully.")
except OSError as error:
print(f"Directory {dir_path} creation failed. Error: {str(error)}")
这个函数使用os.makedirs()函数来创建目录。
示例使用方法:
dir_path = 'path/to/new_directory' create_directory(dir_path)
3. 复制文件或目录:
import shutil
def copy_file(source_path, destination_path):
try:
shutil.copy(source_path, destination_path)
print(f"File {source_path} copied to {destination_path} successfully.")
except shutil.Error as error:
print(f"File {source_path} copy error. Error: {str(error)}")
except IOError as error:
print(f"File {source_path} not accessible. Error: {str(error)}")
这个函数使用shutil.copy()函数来复制文件。
示例使用方法:
source_file = 'path/to/source_file.txt' destination_file = 'path/to/destination_file.txt' copy_file(source_file, destination_file) source_dir = 'path/to/source_directory' destination_dir = 'path/to/destination_directory' copy_file(source_dir, destination_dir)
4. 移动文件或目录:
import shutil
def move_file(source_path, destination_path):
try:
shutil.move(source_path, destination_path)
print(f"File {source_path} moved to {destination_path} successfully.")
except shutil.Error as error:
print(f"File {source_path} move error. Error: {str(error)}")
except IOError as error:
print(f"File {source_path} not accessible. Error: {str(error)}")
这个函数使用shutil.move()函数来移动文件。
示例使用方法:
source_file = 'path/to/source_file.txt' destination_file = 'path/to/destination_file.txt' move_file(source_file, destination_file) source_dir = 'path/to/source_directory' destination_dir = 'path/to/destination_directory' move_file(source_dir, destination_dir)
5. 删除文件或目录:
import shutil
def delete_file(file_path):
try:
if os.path.isfile(file_path):
os.remove(file_path)
print(f"File {file_path} deleted successfully.")
elif os.path.isdir(file_path):
shutil.rmtree(file_path)
print(f"Directory {file_path} deleted successfully.")
else:
print(f"File or directory {file_path} does not exist.")
except OSError as error:
print(f"File or directory {file_path} deletion failed. Error: {str(error)}")
这个函数使用os.remove()函数来删除文件,使用shutil.rmtree()函数来删除目录。
示例使用方法:
file_path = 'path/to/file.txt' delete_file(file_path) dir_path = 'path/to/directory' delete_file(dir_path)
这些是一些常用的文件操作的utility函数,可以根据实际需求进行扩展和优化。同时,这些函数还可以结合其他Python库来完成更复杂的文件操作任务,比如glob库用于匹配文件路径、zipfile库用于压缩和解压缩文件等。
