小编Mag*_*ter的帖子

如何在Python中对给定后缀的文件执行不区分大小写的搜索?

我正在寻找的等价物find $DIR -iname '*.mp3',但我不想做怪异的['mp3', 'Mp3', MP3', etc]事情。但是我不知道如何将这些re*.IGNORECASE东西与简单endswith()方法结合起来。我的目标是不遗漏单个文件,我希望最终将其扩展到其他媒体/文件类型/后缀。

import os
import re
suffix = ".mp3"

mp3_count = 0

for root, dirs, files in os.walk("/Volumes/audio"):
    for file in files:
        # if file.endswith(suffix):
        if re.findall('mp3', suffix, flags=re.IGNORECASE):
            mp3_count += 1

print(mp3_count)
Run Code Online (Sandbox Code Playgroud)

TIA的任何反馈

python regex string case-insensitive ends-with

3
推荐指数
2
解决办法
1014
查看次数

Python:在for循环中追加到字典

当尝试使用 Linux fio 命令的输出填充字典时,我得到了意外的结果。

with open('normal_output.txt', 'rb') as f:
    for line in f.readlines():
        d = {}

        if ':' not in line:
            continue
        print("LINE: ", line)
        key, value = line.strip().split(':', 1)
        d[key] = value
Run Code Online (Sandbox Code Playgroud)

我期望一本充满 KVP 的字典,例如:

('KEY: ', 'READ')
('VALUE: ', ' io=131220KB, aggrb=13890KB/s, minb=13890KB/s, maxb=13890KB/s, mint=9447msec, maxt=9447msec')
('KEY: ', 'WRITE')
('VALUE: ', ' io=130924KB, aggrb=13858KB/s, minb=13858KB/s, maxb=13858KB/s, mint=9447msec, maxt=9447msec')
('KEY: ', 'Disk stats (read/write)')
('VALUE: ', '')
('KEY: ', 'sda')
('VALUE: ', ' ios=32642/32600, merge=0/12, ticks=7472/936, in_queue=8392, util=88.18%')
{'sda': …
Run Code Online (Sandbox Code Playgroud)

python dictionary python-3.x

1
推荐指数
1
解决办法
2175
查看次数