little exercise 1 python

复制代码
比较两个文件夹里的文件
1.1 读取两个文件夹里的文件 
files=os.listdir(r'dir\\\\')
Q1 编码
encode decode unicode?
utf8 gbk ?
1.2 依次获取文件名和文件后缀
listdir 直接获得文件名,可以直接比较文件名
1.3 比较
cmp(name1,name2)
1.4 输出不一样的 文件
判断cmp函数返回值
/****cmp1.py****/
import os
f1=os.listdir(r'C:\Users\R21745\Desktop\ENU')
f2=os.listdir(r'C:\Users\R21745\Desktop\ELL')
len1=len(f1)
len2=len(f2)
n=0
for i in range(8):
    x=cmp(f1[i],f2[i])
    if x!=0:
        print "f1"+" "*(5+len(f1[i]))+"f2"
        print f1[i]+" "*5+f2[i]
        n+=1
    else:
        pass
    print n
----------------
result:
f1           f2
cmp.py     eLCStandStud_student.chm
1
f1                             f2
eLCStandStud_student.chm     ELCStand_teacher.chm
2
f1                         f2
ELCStand_teacher.chm     image026.jpg
3
---------------------------------------------------------------
rethink
2.1 怎么随机比较文件(可能文件夹里的文件顺序不一致,默认f1[0]和f2[0]进行比较的)
2.2如何格式化输出 使结果易读 
2.3 两文件数量不一致时的处理
/*****cmp2.py*****/
print len1,len2
for i in range(len1):
    if f1[i] in f2:
        pass
    else:
        print "f1: "+f1[i]

for j in range(len2):
    if f2[j] in f1:
        pass
    else:
        print "f2: "+f2[j]
----------------------------------------------------------------------
rethink
3.1 文件名后缀忽略大小写
/*****cmp3.py*********/
print len1,len2
for i in range(len1):
    s=f1[i].split(".")
    s1=s[0]+"."+s[-1].lower()
    s2=s[0]+"."+s[-1].upper()
    if s1 in f2 or s2 in f2:
        pass
    else:
        print "f1: "+f1[i]
        n+=1
    
print n
for j in range(len2):
    x=f2[j].split(".")
    x1=x[0]+"."+x[-1].lower()
    x2=x[0]+"."+x[-1].upper()
    if x1 in f1 or x2 in f1:
        pass
    else:
        print "f2: "+f2[j]
复制代码

 

posted @   bubu_步步  阅读(213)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示