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

694次阅读  |  发布于5年以前

复制代码 代码如下:

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_XSLTransformations(XSLT)_Version_2.0.doc
group1_input\subgroup6\377-6700-001 REV B .doc
group3_input\subgroup42\CGP_Manual_5_0.doc

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8