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