使用 Python 脚本拷贝指定格式的文件

# -*- coding: utf-8 -*-
# python2.7
import os
import sys
import shutil

file_list = []

# 想要拷贝的文件格式,例如 txt
extended_format = sys.argv[1]

# 拷贝文件的源目录名称
src_dir = sys.argv[2]

# 拷贝文件的目标目录名称
dst_dir = sys.argv[3]

if os.path.exists(src_dir):
    for current_dir, current_subdir, current_subfile in os.walk(src_dir):
        if current_subfile:
            for f in current_subfile:
                file_list.append(os.path.join(current_dir,f))

        if file_list:
            for i in file_list:
                split_extname = os.path.splitext(i)
                if split_extname[1] and split_extname[1] == '.' + extended_format:
                    dst_path = dst_dir + os.path.dirname(i)
                    if not os.path.exists(dst_path): os.makedirs(dst_path)
                    shutil.copy(i,dst_path)
        else:
            print 'File not found in source directory'
else:
    print 'The source directory does not exist'

脚本说明:
在 linux 中,只是想拷贝指定目录中的指定格式的文件内容,拷贝到目标目录的同时保持源目录结构,可使用上述脚本。
例如拷贝 /etc 下所有以 .conf 结尾的文件到 /bak 目录下,同时所拷贝的 .conf 结尾的文件所在目录路径保持不变:

# python this_script.py conf /etc /bak
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注