python 常用文件处理工具及shutil

1. 文件夹操作

1.1 删除hdfs 文件夹

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys
import os
try:
    # 使用正则表达式,避免转义符
    output_path = r"hdfs://ns1/user/zz/test_dir"
    # 执行shell 命令
    os.system('hadoop fs -rm -r ' + output_path)
except Exception as e:
    print(e)

1.2 创建文件夹

# if not os.path.exists(path):
if not os.path.isdir(r'/home/test_data/'):
    os.makedirs(r'/home/test_data/')

1.3 遍历文件夹

# 返回指定的文件夹包含的文件或文件夹的名字的列表(不包括 . 和 ..)
file_list = os.listdir(path) 

2. 好用的shutil

        Python的shutil库,作为os模块的补充,提供了复制、移动、删除、压缩、解压等操作。shutil 模块对压缩包的处理是调用 ZipFile 和 TarFile这两个模块来进行的。

2.1 拷贝文件

copy() 复制文件数据和文件许可模式,不保留其他元数据;

copy2() 保留原始文件中的所有文件元数据(包括文件的权限、创建时间和修改时间等)。

shutil.copy2()函数会尽量保留源文件的所有元数据,而不是只复制一部分。

import shutil
# dst为目标文件路径(文件名可加可不加),目标文件如存在会覆盖掉
shutil.copy('src.txt', 'dst.txt')

2.2 拷贝文件夹

copytree(src, dst)  # 目标目录必须不存在

2.3 移动文件

move(src, dst, copy_function=copy2)

2.4 删除文件

rmtree(file_name)

你可能感兴趣的:(python,python)