找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 5273|回复: 4

[代码与实例] 批量复制文件到指点文件夹

8

主题

20

帖子

20

积分

贫民

积分
20
ok0755 发表于 2017-4-8 18:24:46 | 显示全部楼层 |阅读模式
PYTHON2.7,只用标准库,实现如下功能:1.U:\下有很多子文件夹及PDF文件,PDF文件名前三个字母一定是包含在上级文件夹名称里的,如U:\B SERAL\BKT,BKG\BKT-004-001.PDF、U:\B SERAL\BSZ,BQV\BSZ-002-004.PDF
2.另有一 h:\1.txt文件,每行只存有PDF文件名,如:BKT-004-001,另一行BSZ-002-004
3.求教根据1.txt每一行的文件名,复制u:\XX..XX\XX..XX\XX........PDF到指定的文件夹,如:h:\my_engineer_draw\

以上,谢谢
回复

使用道具 举报

8

主题

20

帖子

20

积分

贫民

积分
20
ok0755  楼主| 发表于 2017-4-8 18:51:25 | 显示全部楼层
不好意思,小儿科的题,实在有急用
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
yimin.t 发表于 2017-4-10 11:35:09 | 显示全部楼层
import os
import shutil


def copyfile(frompath,topath,conf):
    array=[]
    with open(conf,'r') as file:      
        for line in file.readlines():
            fullname=''.join([line.strip('\n'),'.txt'])
            a.append(fullname)
    #print(a)
    for x,y,z in os.walk(frompath):
        for i in z:
            fullpath=os.path.join(x,i)
            filename=os.path.split(fullpath)[1]
            if filename in a:
                newfullpath=os.path.join(topath,filename)
                if os.path.isfile(newfullpath):
                    os.remove(newfullpath)
                shutil.copy(fullpath,newfullpath)
               
if __name__ == '__main__':
    conf=r''
    frompath=r''
    topath=r''
    copyfile(frompath,topath,conf)


新手报到 一通瞎写
有改进的地方不吝赐教
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
yimin.t 发表于 2017-4-10 11:37:23 | 显示全部楼层
yimin.t 发表于 2017-4-10 11:35
import os
import shutil

我用的3.4  2.7好像没有with,,as,,
你把那一行改成file=open(conf,'r')
#print(a)下面加一行file.close()
应该就可以了
回复 支持 反对

使用道具 举报

8

主题

20

帖子

20

积分

贫民

积分
20
ok0755  楼主| 发表于 2017-4-11 14:11:30 | 显示全部楼层
yimin.t 发表于 2017-4-10 11:35
import os
import shutil

感谢,我试试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表