如何将两个同名文件夹合并里不同名的文件挑选出来

比较一个文件夹比另一同名文件夹多出哪些文件,并复制出来
我的图书馆
比较一个文件夹比另一同名文件夹多出哪些文件,并复制出来
# coding=gbk'''Created on @author: HH'''&&&import os,ConfigParser'''递归列出某目录下的文件,放入List中'''def listDir (fileList,path):&&&&files=os.listdir(path)&&&&for i in& files:&&&&&&&&file_path=path+"\\"+i&&&&&&&&if os.path.isfile(file_path):&&&&&&&&&&&&fileList.append(file_path)&&&&for i in files:&&&&&&&&file_path=path+"\\"+i&&&&&&&&if os.path.isdir(file_path):&&&&&&&&&&&&#fileList.append(file_path)&&&&&&&&&&&&listDir(fileList,file_path)&&&&return fileList'''将List中内容写入文件'''def writeListToFile(list,path):&&&&strs="\n".join(list)&&&&f=open(path,'wb')&&&&f.write(strs)&&&&f.close()'''读入文件内容并放入List中'''def readFileToList(path):&&&&lists=[]&&&&f=open(path,'rb')&&&&lines=f.readlines()&&&&for line in lines:&&&&&&&&lists.append(line.strip())&&&&f.close()&&&&return lists'''比较文件--以Set方式'''def compList(list1,list2):&&&&return list(set(list1)-set(list2))'''复制List中文件到指定位置'''def copyFiles(fileList,targetDir):&&&&for file in fileList:&&&&&&&&targetPath=os.path.join(targetDir,os.path.dirname(file))&&&&&&&&targetFile=os.path.join(targetDir,file)&&&&&&&&if not os.path.exists(targetPath):&&&&&&&&&&&&os.makedirs(targetPath)&&&&&&&&if not os.path.exists(targetFile) or (os.path.exists(targetFile) and os.path.getsize(targetFile)!=os.path.getsize(file)):&&&&&&&&&&&&print "正在复制文件:"+file&&&&&&&&&&&&open(targetFile,'wb').write(open(file,'rb').read())&&&&&&&&else:&&&&&&&&&&&&print "文件已存在,不复制!"if __name__ == '__main__':&&&&path=".svn"&&&&#获取源目录&&&&&&&&&txtFile="1.txt"&&&&#目录结构输出的目的文件&&&&&&&&&tdir="cpfile"&&&&#复制到的目标目录&&&&&&&&&cfFile="config.ini";&&&&#配置文件文件名&&&&fileList=[]&&&&&&&&&#读取配置文件&&&&if(os.path.exists(cfFile)):&&&&&&&&cf=ConfigParser.ConfigParser()&&&&&&&&cf.read(cfFile)&&&&&&&&&&&&&&&&&path=cf.get("main", "sourceDir")&&&&&&&&txtFile=cf.get("main","txtFile")&&&&&&&&tdir=cf.get("main","targetDir")&&&&else:&&&&&&&&print "配置文件不存在!"&&&&&&&&raw_input("\n按 回车键 退出\n")&&&&&&&&exit()&&&&&&&&&if(os.path.exists(txtFile)):&&&&&&&&#如果导出的文件存在,就读取后比较&&&&&&&&list1=readFileToList(txtFile)&&&&&&&&print "正在读取文件列表……"&&&&&&&&fileList=listDir (fileList,path)&&&&&&&&print "正在比较文件……"&&&&&&&&list_res=compList(fileList,list1)&&&&&&&&&&&&&&&&&if len(list_res)&0:&&&&&&&&&&&&print "以下是原目录中不存在的文件:\n"&&&&&&&&&&&&print "\n".join(list_res)&&&&&&&&&&&&print "\n共计文件数:"+str(len(list_res))+"\n"&&&&&&&&&&&&if raw_input("\n是否复制文件?(y/n)")!='n':&&&&&&&&&&&&&&&&copyFiles(list_res,tdir)&&&&&&&&else:&&&&&&&&&&&&print "没有不相同的文件!"&&&&else:&&&&&&&&#如果导出的文件不存在,则导出文件&&&&&&&&print "正在读取文件列表……"&&&&&&&&fileList=listDir (fileList,path)&&&&&&&&writeListToFile(fileList,txtFile)&&&&&&&&print "已保存到文件:"+txtFile&&&&&&&&&&&&&raw_input("\n按 回车键 退出\n")
发表评论:
TA的推荐TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&[转]&[转]&[转]&在同一文件夹中允许建立两个名字相同的文件_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
<span class="g-ico g-ico-star g-ico-star-on" style="width:%">
<span class="g-ico g-ico-star g-ico-star-on" style="width:%">
<span class="g-ico g-ico-star g-ico-star-on" style="width:%">
在同一文件夹中允许建立两个名字相同的文件
上传于||文档简介
&&在同一文件夹中允许建立两个名字相同的文件
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢帐号:密码:下次自动登录{url:/nForum/slist.json?uid=guest&root=list-section}{url:/nForum/nlist.json?uid=guest&root=list-section}
贴数:6&分页:No life, no wife, dog&#39;s life发信人: futurehost (达达), 信区: eclipse
标&&题: 请问在eclipse里面怎么比较两个不同名文件的具体差异?
发信站: 水木社区 (Fri Oct 14 19:47:15 2005), 站内 && 就是两个不同名的文本,我想仔细比较一下,看看具体差异在哪里,就是左右两个窗口,不同之处用其他颜色显示。
-- && ※ 来源:·水木社区 ·[FROM: 195.212.29.*]
阳阳·using VIM发信人: Chiney (阳阳·using VIM), 信区: eclipse
标&&题: Re: 请问在eclipse里面怎么比较两个不同名文件的具体差异?
发信站: 水木社区 (Fri Oct 14 22:29:09 2005), 站内 &&&& 装vim
可以直接diff
满足你的需求
【 在 futurehost (达达) 的大作中提到: 】
就是两个不同名的文本,我想仔细比较一下,看看具体差异在哪里,就是左右两个窗口,不同之处用其他颜色显示。
-- &&&&&& --
VIMmer &&&& ※ 来源:·水木社区 newsmth.net·[FROM: 221.11.15.*]
我空军......发信人: surfeit (超重◎加强锻炼), 信区: eclipse
标&&题: Re: 请问在eclipse里面怎么比较两个不同名文件的具体差异?
发信站: 水木社区 (Fri Oct 14 22:56:56 2005), 站内 && package视图,右键,compare with,自己看看吧 && 【 在 futurehost (达达) 的大作中提到: 】
: 就是两个不同名的文本,我想仔细比较一下,看看具体差异在哪里,就是左右两个窗口,不同之处用其他颜色显示。
&&&& -- &&&& ※ 来源:·水木社区 newsmth.net·[FROM: 210.77.3.*]
No life, no wife, dog&#39;s life发信人: futurehost (达达), 信区: eclipse
标&&题: Re: 请问在eclipse里面怎么比较两个不同名文件的具体差异?
发信站: 水木社区 (Fri Oct 14 23:07:21 2005), 站内 && 这个里面只有
最新的FromHead
其他的Branch
local history && 没有可以选择和其他不同名文件进行比较的选项啊!!
【 在 surfeit (超重◎加强锻炼) 的大作中提到: 】
: package视图,右键,compare with,自己看看吧
&&&&&& -- && ※ 来源:·水木社区 ·[FROM: 195.212.29.*]
厚积薄发发信人: cloudor (背瓜的人), 信区: eclipse
标&&题: Re: 请问在eclipse里面怎么比较两个不同名文件的具体差异?
发信站: 水木社区 (Sat Oct 15 06:41:53 2005), 站内 &&&& 选中你要比较的两个文件, compare with ... each other && 【 在 futurehost (达达) 的大作中提到: 】
: 这个里面只有
: 最新的FromHead
: 其他的Branch
: ...................
&& -- && Less Is More&&
&&&& ※ 来源:·水木社区 newsmth.net·[FROM: 221.219.113.*]
No life, no wife, dog&#39;s life发信人: futurehost (达达), 信区: eclipse
标&&题: Re: 请问在eclipse里面怎么比较两个不同名文件的具体差异?
发信站: 水木社区 (Mon Oct 17 17:26:57 2005), 站内 && 3X
【 在 cloudor (背瓜的人) 的大作中提到: 】
: 选中你要比较的两个文件, compare with ... each other
&&&&&& -- && ※ 来源:·水木社区 ·[FROM: 195.212.29.*]
文章数:6&分页:您的举报已经提交成功,我们将尽快处理,谢谢!
第一步,使用dos命令:dir z:\a/s/b&list.txt(z=磁盘名)
第二步,用word编辑list.txt文件,先把文件夹所在的行删除,然后替换...
在桌面上新建一个文件夹,右键重命名,把名字改为你要替换的文件名,把桌面上的文件夹复制到你要替换的文件夹所在的路径。这时会弹出一个对话框,选择替换就好了。
1.将A或B电脑的硬盘拆下挂到另一台机器上,在windows操作系统中打开要拷贝内容相对应磁盘,直接进行拷贝
2.通过网络进行拷贝
3.用直连线直接连接进行...
命令如下:
copy \b *.* \a
说明:*.*是所有文件的意思。
                       -,&#039;&#039;&#039;...
大家还关注比较一个文件夹比另一同名文件夹多出哪些文件,并复制出来 - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 18时,
这个东东本来是做来给公司数据同步用的:新服务器还没正式启用,旧的服务器还在使用,每天都有大量图片传到旧服务器上面,为了避免备份全部图片,所以写了这么个工具。刚接触Python,水平还很嫩,见谅见谅!
(注:使用本程序请自行评估风险,本人不负任何责任)
代码片段(3)
1.&[图片] 43.jpg&&&&
2.&[代码][Python]代码&&&&
# coding=gbk
Created on
@author: HH
import os,ConfigParser
递归列出某目录下的文件,放入List中
def listDir (fileList,path):
files=os.listdir(path)
file_path=path+"\\"+i
if os.path.isfile(file_path):
fileList.append(file_path)
for i in files:
file_path=path+"\\"+i
if os.path.isdir(file_path):
#fileList.append(file_path)
listDir(fileList,file_path)
return fileList
将List中内容写入文件
def writeListToFile(list,path):
strs="\n".join(list)
f=open(path,'wb')
f.write(strs)
读入文件内容并放入List中
def readFileToList(path):
f=open(path,'rb')
lines=f.readlines()
for line in lines:
lists.append(line.strip())
return lists
比较文件--以Set方式
def compList(list1,list2):
return list(set(list1)-set(list2))
复制List中文件到指定位置
def copyFiles(fileList,targetDir):
for file in fileList:
targetPath=os.path.join(targetDir,os.path.dirname(file))
targetFile=os.path.join(targetDir,file)
if not os.path.exists(targetPath):
os.makedirs(targetPath)
if not os.path.exists(targetFile) or (os.path.exists(targetFile) and os.path.getsize(targetFile)!=os.path.getsize(file)):
print "正在复制文件:"+file
open(targetFile,'wb').write(open(file,'rb').read())
print "文件已存在,不复制!"
if __name__ == '__main__':
path=".svn"
#获取源目录
txtFile="1.txt"
#目录结构输出的目的文件
tdir="cpfile"
#复制到的目标目录
cfFile="config.ini";
#配置文件文件名
fileList=[]
#读取配置文件
if(os.path.exists(cfFile)):
cf=ConfigParser.ConfigParser()
cf.read(cfFile)
path=cf.get("main", "sourceDir")
txtFile=cf.get("main","txtFile")
tdir=cf.get("main","targetDir")
print "配置文件不存在!"
raw_input("\n按 回车键 退出\n")
if(os.path.exists(txtFile)):
#如果导出的文件存在,就读取后比较
list1=readFileToList(txtFile)
print "正在读取文件列表……"
fileList=listDir (fileList,path)
print "正在比较文件……"
list_res=compList(fileList,list1)
if len(list_res)&0:
print "以下是原目录中不存在的文件:\n"
print "\n".join(list_res)
print "\n共计文件数:"+str(len(list_res))+"\n"
if raw_input("\n是否复制文件?(y/n)")!='n':
copyFiles(list_res,tdir)
print "没有不相同的文件!"
#如果导出的文件不存在,则导出文件
print "正在读取文件列表……"
fileList=listDir (fileList,path)
writeListToFile(fileList,txtFile)
print "已保存到文件:"+txtFile
raw_input("\n按 回车键 退出\n")
3.&[代码]配置文件名:config.ini&&&&
#配置文件名:config.ini
sourceDir=wwwroot
txtFile=1.txt
targetDir=cp
开源中国-程序员在线工具:
相关的代码(492)
100回/34559阅
8回/32034阅
34回/24306阅
59回/23943阅
26回/19791阅
2回/18302阅
1回/16602阅
25回/16220阅
8回/15741阅
40回/15074阅
开源从代码分享开始
零度C的其它代码}

我要回帖

更多关于 文件夹同名病毒专杀 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信