用python实现的可以拷贝或剪切一个文件列表中的所有文件

yipeiwu_com5年前Python基础
复制代码 代码如下:

# coding:utf-8
import os
import sys
def cut_and_paste_file(source, destination):
    '''
    source: file path 中文
    destination: directory path
    '''
    def format_path(path):
        if not os.path.isabs(path):
            path = os.path.join(os.getcwd(), path)
        return path
    def mk_dir(path):
        if not os.path.exists(os.path.dirname(path)):
            mkdir_cmd = 'mkdir "%s"' % os.path.dirname(path)
            print os.popen(mkdir_cmd).read()

    destination = os.path.join(format_path(destination), source)
    source = format_path(source)
    mk_dir(source)
    mk_dir(destination)
    copy_cmd = 'copy /Y "%s" "%s"' % (source, destination)
    print 'copy_cmd:%s' % copy_cmd
    print os.popen(copy_cmd).read()
    del_cmd = 'del "%s" /Q' % source
    print 'del_cmd:%s' % del_cmd
    print os.popen(del_cmd).read()
if __name__ == '__main__':
    if len(sys.argv) != 2:
        print 'params must be 1,the params is the file of contain the list of cutAndPastFile List'
        exit(0)

    file_name = sys.argv[1]
    f = open(file_name, 'r')
    lst_file = f.readlines()
    f.close()

    output_path = 'backup_del'

    for filename in lst_file:
        filename = filename.replace('\n', '')
        if filename != '':
            cut_and_paste_file(filename, output_path) 


传一个文件给该py文件即可,例如,文件名为:del_file.txt
group1_input\subgroup13\55657_XSL_Transformations_(XSLT)_Version_2.0.doc
group1_input\subgroup6\377-6700-001 REV B .doc
group3_input\subgroup42\CGP_Manual_5_0.doc

相关文章

Cython 三分钟入门教程

作者:perrygeo译者:赖勇浩(http://laiyonghao.com/)原文:http://www.perrygeo.net/wordpress/?p=116 我最喜欢的是Py...

Python 的字典(Dict)是如何存储的

Python 的字典(Dict)是如何存储的

前言 Python 的字典有好多个名称("映射"、"哈希"、"散列"或者"关系数组"),那你知道为什么字典会被称为 Hash(翻译为"哈希"或"散列")吗? 你知道为什么字典对于键(K...

python实现简单日志记录库glog的使用

这篇文章主要介绍了python实现简单日志记录库glog的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、 glog的简介 g...

Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例

本文实例讲述了Python找出序列中出现次数最多的元素。分享给大家供大家参考,具体如下: 问题:找出一个元素序列中出现次数最多的元素是什么 解决方案:collections模块中的Cou...

Python运维开发之psutil库的使用详解

介绍 psutil能够轻松实现获取系统运行的进程和系统利用率。 导入模块 import psutils 获取系统性能信息 CPU信息 使用cpu_times()方法获取CP...