美文网首页
Python文件处理

Python文件处理

作者: 吱吱菌啦啦 | 来源:发表于2022-05-19 09:03 被阅读0次

有一个日志文件,要统计里面每种域名出现的次数

1.1.1.1 www.baidu.comx
1.1.1.2 www.baidu.com
1.1.1.3 www.baidu.com
1.1.1.1 www.baidu.com
1.1.1.2 www.baidu.com

1.1.1.1 www.baidu.com
1.1.1.2 www.baidu.com
1.1.1.1 www.baidu.com2
1.1.1.2 www.baidu.com2

思路:
1.读文件,取到数据
2.过滤空行
3.把字符串切割成list
4.遍历list,统计域名和次数
5.把结果写进字典

# 读文件
f = open("../logs/ip&domain.log", "r", encoding='utf-8')

# 定义一个空字符串
lines = ''
# 遍历文件,过滤空行,把不是空行的填进字符串里
for line in f:
    if line != '\n':
        lines = lines + line

# 分割成list
lineList = lines.split('\n')

# print('lineList', lineList)

# 因为题目是要统计每种域名的请求次数,数据结构是key:value形式,所以这里定义一个字典
dic = {}

# 遍历list
for content in lineList:
    # 1.1.1.1 www.baidu.comx 这种按空格分割
    [ip, domain] = content.split(' ')
    # 取域名和次数填进字典里,域名为None次数+0(因为初始化的时候字典里没有值),取到了域名 次数+1
    # print('before  ', 'domain: ', domain, ' dic[domain]: ', dic.get(domain))
    if dict.get(domain) == None:
        dict[domain] = 0
    else:
        dict[domain] += 1
    # print('after  ', 'domain: ', domain, ' dic[domain]: ', dic.get(domain))
print(dic)

统计结果:

{'www.baidu.comx': 1, 'www.baidu.com': 6, 'www.baidu.com2': 2}

相关文章

  • Python 文件处理

    Python 读文件处理 1. readline() with 处理开闭文件&文件异常处理 readline()内...

  • 从Excel到Python (视频)

    Python Pandas处理Excel文件

  • Python 文件处理

    文件的理解 文件是数据的抽象和集合 文本文件 VS. 二进制文件 f.txt 文件保存: "人生苦短, 我用Pyt...

  • Python 文件处理

    文件处理 常用打开文件方式 1.读取文件内容, 模式为 'r' 表示读, 这也是打开的默认方式。 2.如果要创建或...

  • python 文件处理

  • python——文件处理

    1.文件处理 如果报错 说明编码不对。 按正常逻辑来讲,文件是以什么方式存的,就应该用什么方式去读取,比如以gb2...

  • Python 文件处理

    python 文件打开方式 文件打开方式: open(name[,mode[,buf]])name: 文件路径mo...

  • Python 文件处理

    创建文件 f = file('myfile.txt','w') f.write('hello,baby!')f....

  • python 文件处理

    文件处理有三个步骤:1、定义文件路径: 2、打开并保存文件内容。 r:以只读方式打开文件。文件的指针将会放在文件的...

  • Python文件处理

    文件读取 整个读取 两个注意点: 使用关键字with可以自动关闭文件流,如果使用file_object = ope...

网友评论

      本文标题:Python文件处理

      本文链接:https://www.haomeiwen.com/subject/dwazurtx.html