如何迭代文件,执行操作,然后在Python中重命名它们?

如何迭代文件,执行操作,然后在Python中重命名它们?,python,Python,我有一个目录中的文件,名为hosts\u access\u log\u 00.txt,hosts\u access\u log\u 01.txt等等,直到13岁。 并且各个文件的输出必须存储在各个文件中:bytes_hosts_access_log_00.txt、bytes_hosts_access_log_01.txt等等,直到13,并且它们应该存储在当前目录中。 我如何做到这一点? 在上面的代码中,我只能用1个文件实现这一点 with open('hosts_access_log_00.tx

我有一个目录中的文件,名为hosts\u access\u log\u 00.txt,hosts\u access\u log\u 01.txt等等,直到13岁。 并且各个文件的输出必须存储在各个文件中:bytes_hosts_access_log_00.txt、bytes_hosts_access_log_01.txt等等,直到13,并且它们应该存储在当前目录中。 我如何做到这一点? 在上面的代码中,我只能用1个文件实现这一点

with open('hosts_access_log_00.txt', 'r') as input_file:
    bytes = []
    for lines in input_file.readlines():
        words = lines.split()
        bytes.append(words[-1])

bytes = list(int(byte) for byte in bytes)
usable_bytes = []
sum = 0
for usable in bytes:
    if usable > 5000:
        usable_bytes.append(usable)
        sum += usable

print(usable_bytes, sum)
bytecount = '{}'.format(len(usable_bytes))
sum_state = '{}'.format(sum)

with open('bytes_hosts_access_log_00.txt', 'w') as output_file:
    output_file.write(bytecount +'\n'+ sum_state)

你有14个文件,它们是连续命名的,对吗?我会使用一个简单的循环和f字符串

for filenumber in range(14):
    filenumber = str(filenumber)
    filenumber = '0' * (2 - len(filenumber)) + filenumber
    with open(f'hosts_access_log_{filenumber}.txt', 'r') as input_file:
        bytes = []
        for lines in input_file.readlines():
            words = lines.split()
            bytes.append(words[-1])

    bytes = list(int(byte) for byte in bytes)
    usable_bytes = []
    sum = 0
    for usable in bytes:
        if usable > 5000:
            usable_bytes.append(usable)
            sum += usable

    print(usable_bytes, sum)
    bytecount = '{}'.format(len(usable_bytes))
    sum_state = '{}'.format(sum)

    with open(f'bytes_hosts_access_log_{filenumber}.txt', 'w') as output_file:
        output_file.write(bytecount +'\n'+ sum_state)

使用模块。像
os.listdir()
这样的函数非常有用…@MattDMo我对Python相当陌生。你介意帮我写代码吗当然,我会写一个简单的例子。从目录()2中获取感兴趣的文件列表。反复浏览该列表并做一些事情感谢您修复了输入错误,@MattDMoNo prob。像那样的事情突然向我袭来。