繁体   English   中英

如何让Python读取多个txt文件

[英]How to make Python read multiple txt files


我需要有关此 Python 脚本的帮助
我是 Python 的菜鸟,但我真的需要这个才能工作

我为这个项目制作了一个批处理脚本,效果很好,但是速度很慢,编辑所有 200 多个文件可能需要 30 分钟

这就是我所拥有的,而且效果很好,但是我有超过 200 个不同名称的 txt 文件,它们都位于不同的文件夹中

f1 = open('(1).txt', 'r')
f2 = open('(1A).txt', 'w')
for line in f1:
    f2.write(line.replace('"aplid": 2147483648', '"aplid": -2147483648'))
f1.close()
f2.close()

我需要的是让它像这样工作,所以我每个 txt 文件有 2 个代码需要编辑,如果这需要太多帮助,那么我只需为每个代码制作 2 个相同脚本的副本

我用批处理调用子阅读器来运行 python.py 脚本,但是在使用批处理脚本时运行速度很慢,所以让这个脚本有它自己的子文件夹阅读器会很棒

import glob
import os

for f in glob.glob("*.txt"):
f1 = open('f', 'r')
f2 = open('f', 'w')
for line in f1:
    f2.write(line.replace('"aplid": 2147483648,', '"aplid": -2147483648,'))
    f2.write(line.replace('"orlid": 2147483648,', '"orlid": -2147483648,'))
f1.close()
f2.close()

如果它可以读取和写入相同的文件,那就太好了
我不知道 Python 是否可以读取批处理dir /b /s /ad之类的文件夹和子文件夹

但我的主要兴趣是读取任何 txt 文件并保存到同一个 txt 文件

很抱歉打扰您,但是我在网上搜索并找不到任何对此有帮助的东西,而且大部分我不明白

我一直在阅读,使用路径会有所帮助,但是此脚本将放置在多台计算机中,因此使用路径不是最好的

您可以使用os.walk遍历目录树:

import os

for root, dirs, files in os.walk('.'):
    for name in files:
        nmin = os.path.join(root,name)
        with open(nmin,"r") as fin:
            data = fin.read()
        data = data.replace('"aplid": 2147483648,', '"aplid": -2147483648,') \
                   .replace('"orlid": 2147483648,', '"orlid": -2147483648,')
        with open(nmin,"w") as fout:
            fout.write(data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM