python - 计算一个文件夹中多个文本文件中的 "something"

标签 python file text count

我正在尝试计算“Tmp”在文件中出现的次数以及该计数属于哪个文件。我创建了一个可以运行的脚本,但我必须为每个文件设置输入文件和输出目录。为了改进它,我希望脚本在设置一次后遍历文件夹中的每个文件。

我一直在尝试:

import tkFileDialog
import glob
import os
directory = tkFileDialog.askdirectory()
for infile in glob.glob(os.path.join(directory, "*.*")):
    open(infile, "r").read()
    infile.count("Tmp")

当前,当我键入以下内容时,我正在计算“Tmp”在文件名中出现的次数,而不是实际文件中出现的次数:

print infile

它输出文本文件的内容而不是目录?我只是对去哪里或做什么感到困惑。

最佳答案

我会使用 os.walk 而不是 glob:

import tkFileDialog
import os
import os.path
import re

directory = tkFileDialog.askdirectory()

for dirpath, dirnames, filenames in os.walk(directory):
    for filename in filenames:
        path = os.path.join(dirpath, filename)

        with open(path) as file:
            contents = file.read()

            print path[:30], contents.count('Tmp'), re.findall('Tmp\d{5}', contents)

关于python - 计算一个文件夹中多个文本文件中的 "something",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7974530/

相关文章:

ios - 使用 CloudKit 保存记录时没有这样的文件或目录

java - 使用 Java 将文本复制到剪贴板

text - 如何水平翻转文本?

python - 分配规则

ios - Swift:在 iOS 应用程序中读取和写入文件

python - 如何检查一个列表是否包含另一个列表的 2 个元素?

linux - 使用 cp 命令将一组文件复制到另一组(具有相同名称)而不覆盖和重命名

python 3 : Searching A Text File Smartly

python - 如何在 tensorflow 1.15 中正确传递权重和偏差?

python - for x = str(y) in range(0,5) .... 在 python 中?