原因是这样的,有两个文件夹,一个是.jpg的图片形式,一个是文本.xml的文本格式。需要在查询两个文件夹的文件是不是一一对应。
当然用python写了,对于还是菜鸟的我。
读取文件夹下的文件名 并去掉后缀
# -*- coding: utf-8 -*-
import os
import sys
import re
'''
扫描文件夹dir中所有文件,返回文件的相对路径列表
'''
def GetFileList(dir, fileList):
newDir = dir
if os.path.isfile(dir): # 如果是文件则添加进 fileList
fileList.append(dir)
elif os.path.isdir(dir):
for s in os.listdir(dir): # 如果是文件夹
newDir = os.path.join(dir, s)
GetFileList(newDir, fileList)
return fileList
# 主函数
# 重定向输出位置
output = sys.stdout
outputfile = open('E:/test.txt', 'w')
sys.stdout = outputfile
list = GetFileList('D:\python27', []) # 获取所有myFolder文件夹下所有文件名称(包含拓展名)
# 输出所有文件夹中的路径(相对于当前运行的.py文件的相对路径)
for route in list:
# route 为路径
num = re.sub('(.*)\\\\', "", route)
num1 = re.sub('(\.)(.*)', "", num)
print(num1)
# 关闭输出重定向
#print '---'
outputfile.close()
sys.stdout = output
运行结果:
文件对比
import os
import sys
def compare(file1,file2):
f1=open(file1)
f2=open(file)
lines1=f1.readlines()
lines2=f2.readlines()
print len(lines1)
print len(lines2)
output = sys.stdout
outputfile = open('E:/more1.txt','w')
sys.stdout = outputfile
for line1 in lines1:
if line1 not in lines2:
print line1
outputfile.close()
sys.stdout = output
if __name__ == '__main__':
compare('E:/test.txt','E:/test1.txt')
这个太简单了不扯了