python08 - 操作文件和文件夹

python操作文件和文件夹

文章目录

  • python操作文件和文件夹
    • 一:文件处理
      • 1:文件的复制(shutil)
      • 2:裁剪和变相重命名(shutil)
      • 3:文件的删除(os)
      • 4:文件的压缩和解压缩(shutil)
      • 5:文件的查找(glob)
      • 6:重复文件的清理(hashlib)
      • 7:批量修改文件名称(shutil & glob)
    • 二:文件夹处理
      • 1:文件夹的复制(shutil)
      • 2:文件夹的删除(shutil)
      • 3:文件夹的裁剪和重命名(shutil)

一:文件处理

以前都是使用os模块,这里介绍更加的精细的模块,是os的"升级版" - shutil

shutil 是 python 的 内置模块,不需要额外安装。

1:文件的复制(shutil)

from shutil import copy

# 核心方法 -> 源地址赋值到目标地址
copy(src_path, dist_path)
import os
from shutil import copy

'''
源地址文件夹,复制到目标文件夹
'''


def copy_files(src_dir, dest_dir):
    for file in os.listdir(src_dir):
        if file.endswith('.txt'):
            src_file = os.path.join(src_dir, file)
            dest_file = os.path.join(dest_dir, file)
            copy(src_file, dest_file)


if __name__ == '__main__':
    src_dir = 'C:/Users/user/Documents/txt'
    dest_dir = 'C:/Users/user/Documents/txt_copy'
    copy_files(src_dir, dest_dir)

当目标文件夹是一个文件的时候,就是文件内容的复制,将源文件的文件内容复制给目标文件

import os
from shutil import copyfile

'''
文件内容的复制
copyfile(src - 源文件路径, dst - 目标文件路径)
'''


def copy_file_content(src, dst):
    copyfile(src, dst)


if __name__ == '__main__':
    src = input("Enter the source file path: ")
    dst = input("Enter the destination file path: ")
    copy_file_content(src, dst)
    print("File content copied successfully!")

2:裁剪和变相重命名(shutil)

所谓文件的裁剪就是从一个目标路径的文件A移动到目标路径B中去。

A和B名称可能是相同的也可能是不同的,当移动后A目标这个路径下就不存在这个文件了,只存在目标B这个文件下。

当然,它也支持目标A裁剪到直接裁剪到目标A ,但是它可以支持将目标A这个路径下的这个文件名称进行改变,所以它也是一个变相的重命名。

from shutil import move

move(src, dist)
import os
from shutil import move


def move_files(src_dir, dest_dir):
    for filename in os.listdir(src_dir):
        if filename.endswith('.txt'):
            src_file = os.path.join(src_dir, filename)
            dest_file = os.path.join(dest_dir, filename)
            move(src_file, dest_file)


if __name__ == '__main__':
    src_dir = '/home/user/Documents/office/txt'
    dest_dir = '/home/user/Documents/office/txt_files'
    move_files(src_dir, dest_dir)

3:文件的删除(os)

单文件的删除一般使用os的remove模块

from os import remove


def remove_file(file_path):
    remove(file_pat

你可能感兴趣的:(人生苦短,我用python,python,自动化办公,shutil,glob)