文件相关函数

  • 实例一:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/local/bin/python
'''
# 把nginx日志文件中,13年08月的所有文件中有字串"basewifi.747"的条数打印出来
# 格式: <日期>:  <有basewifi.747的个数>
'''

import string

i=15
count = 0
substring = "basewifi.747"
while i < 27:
    print i
    i = i+1;
    path = "/var/log/nginx/2013/08/access.201308" + str(i) + ".log"
    print path
    f = open(path, 'r')   # 打开读日志文件(以读模式)
    w = open("/usr/home/wolf/tmp/basewifi.log", 'a')    # 打开日志文件(以append方式打开)
    w.write(str(i)+":   ")     # 往日志文件写入日期
    line = True
    while line:    # 对指定文件进行遍历,计算出有"basewifi.747"的个数
        line = f.readline()      # 读一行文件内容
        if string.find(line, substring) != -1:    # 文件中是否有"basewifi.747"字串
            count = count + 1

    w.write(str(count) + " \n")

f.close()
w.close()

实例二(未确认):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/python

import os
import time

# 1. 在列表中指定要备份的文件或目录
source = ['/home/swaroop/byte', '/home/swaroop/bin']
# window中用 source = [r'C:\Documents', r'D:\Work']或其他类似功能

# 2. 备份存储目标的目录
target_dir = '/mnt/e/backup/' #

# 3. 文件备份到zip文件中
# 4. 当前日期是主目录的子目录
today = target_dir + time.strftime('%Y%m%d')
# 当前时间是日期目录的子目录
now = time.strftime('%H%M%S')

# 给zip文件一个有意义的名字
comment = raw_input('Enter a comment --> ')
if len(comment) == 0: # 是否输入注释名
    target = today + os.sep + now + '.zip'
else:
    target = today + os.sep + now + '_' + \
      comment.replace(' ', '_') + '.zip'
# Notice the backslash!

# 如果目录不存在,创建它
if not os.path.exists(today):
    os.mkdir(today) # make directory
    print 'Successfully created directory', today

# 5. 使用linux的zip命令把文件打包到zip包中
zip_command = "zip -qr '%s' %s" % (target, ' '.join(source))

# Run the backup
if os.system(zip_command) == 0:
    print 'Successful backup to', target
else:
    print 'Backup FAILED'