免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3112 | 回复: 2
打印 上一主题 下一主题

请教:怎样找出指定目录下的所有文件,并对每个文件进行处理后转成其他文件输出 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-05 16:11 |只看该作者 |倒序浏览
代码如下,可是结果只能对最后一个文件进行处理,其他文件的处理结果都是空的,应该是最后for line in lines中lines的问题,可是我尝试了很多方法,也没有能实现,望指点

find.py

import fnmatch, os

def find(pattern, startdir=os.curdir):
    matches = []
    os.path.walk(startdir, findvisitor, (matches, pattern))
    matches.sort()
    return matches

def findvisitor((matches, pattern), thisdir, nameshere):
    for name in nameshere:
        if fnmatch.fnmatch(name, pattern):
            fullpath = os.path.join(thisdir, name)
            matches.append(fullpath)

if __name__ == '__main__':
    import sys
    namepattern="*.eml"
    startdir = sys.argv[1]
    for name in find(namepattern, startdir): print name


///////////////////////////////////////////////////////////////////////////////////
b.py
     
import base64
import zlib
import sys
import find

list = find.find('*.eml',sys.argv[1])
for name in list:
   

    f = file(name, "rb"
    lines = f.readlines()
  
    f.close()
    f = file(name+".txt",'w')
    start = False
    message = ""
    f.close

def dealwith(message):
    print
    print "-----------------------------------------------------------------"
    print zlib.decompress(base64.b64decode(message)[0x48:])
    f.write ("-------------------------------------------------------------\n"
    f.write(zlib.decompress(base64.b64decode(message)[0x48:]))
    f.write ("\n-------------------------------------------------------------\n"
    print "-----------------------------------------------------------------"


for line in lines:
    if "MessageStart" in line:
        start = True
    elif "MessageEnd" in line:
        dealwith(message)
        start = False
        message = ""
    elif start:
        message += line

论坛徽章:
0
2 [报告]
发表于 2006-01-05 21:50 |只看该作者
你的程序中,dealwith和下面的for循环与上面的for循环怎么是同级别的缩近呢?感觉应该在下一层才对。

论坛徽章:
0
3 [报告]
发表于 2006-01-06 08:58 |只看该作者
谢谢,ok了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP