欢迎访问宙启技术站
智能推送

如何在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库用于压缩和解压缩文件等。