python 将多个文件添加到一个文件中

昨天终于搞定了,刚开始学习python。写完之后还是比较有成就感的。虽然比较菜。

 

 1 #!/usr/bin/env python
 2 # coding: utf-8
 3 # author: h3i_dan
 4 # filename: mergefile.py
 5 # version: v1.0
 6 ############################
 7 
 8 import os
 9 
10 def getdirs(a):
11   '''得到iislog目录下有那些内容,把每个log文件以列表的形式输出'''
12   export = []
13   contents = os.walk(a)
14   for root, dirs, files in contents:
15     for file_a in files:
16       export.append(os.path.join(root, file_a)) # os.path.join() 将路径和文件链接起来
17 
18   return export
19 
20 def getcont(b):
21   ''' 通过循环分别读取每个列表中的你想得到的文件的名称,将她们的内容放到123.txt中'''
22   for i in getdirs(a):
23     if b in i:
24 
25       filename = open(i, 'r')
26       collect = filename.read()
27       total = open('d:\\123.txt', 'a')
28       total.writelines(collect)
29 
30     else:
31       print 'nothing'
32   filename.close()
33   total.close()
34 
35 if __name__ == '__main__':
36 
37   a = 'e:\\'
38   b = raw_input('Your Required documents >> ')
39   getcont(b)

 

 

 html段落还不会写,会写的时候改正过来。

这个小程序,历尽了千辛万苦啊。写了好几天,最开始不知道怎么遍历目录,知道用os之后不知道用里面的什么函数。之后发现读取不了文件,最开始的代码是这样的:

 

 1 def getdirs(a):
 2   export = [] 
 3   contents = os.walk(a)
 4   for root, dirs, files in contents:
 5       export.append(files)
 6 
 7   return export
 8 
 9 def getcont(c):
10 
11   for i in getdirs(a):
12 
13     for b in i:
14 
15       if  b == c:
16 
17         filename = open(b, 'r')
18         collect = filename.read()
19         total = open('d:\\123.txt', 'a')
20         total.writelines(collect)
21 
22       else:
23         print 'nothing'
24   filename.close()
25   total.close()

 

 

 

这样写的话,可以读取出文件的名称,可是,仅仅只能读出文件的名称。没有文件目录。filename = open(b, 'r')   filename在open的时候就会找不到b。给出一个报错。

百思不得其解啊。后来李同学帮了这个忙。多谢李同学了。通过使用os.path.join()这个方法,就很容易了。

ok,其实写这个小程序就是为了方便自己iis日志。很多站点的流量比较小,他们又在同一个服务器里面,看起来很麻烦。通过这个小程序,可以把他们放到一起查看。有一个弊端,就是你分不清出现问题的日志是哪一个站点的了。不过,可以通过ctrl-F在日志文件排查了。

特别鸣谢:李同学

转载于:https://www.cnblogs.com/h3idan/archive/2012/05/23/2514556.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值