欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-13 19:10:40
...
代码如下:


# 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