需要列表的问题

发布于 2024-09-15 14:11:12 字数 145 浏览 6 评论 0原文

我当前面临的问题来自以下场景。我有一个脚本,它运行命令行程序来查找特定文件夹中特定扩展名的所有文件,我们将这些文件称为文件 A。脚本的另一部分通过每个文件运行 grep 命令来查找文件 A 中的文件名。存储文件 A 中且仅存储文件 A 中的文件名的最佳方法,我该如何实现?谢谢

The current issue im facing is comes from the following scenario. I have a script that runs a commandline program to find all files of a certain extension within an specific folder, lets call these files File A. Another section of the script runs a grep command through each file for filenames within File A. What would be the best method to store what filenames are in File A and only File A, and how could I achieve it? Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心如狂蝶 2024-09-22 14:11:12

编辑:我看到你是问上一个问题的人!为什么要开新的呢?


最近有一个关于这个确切问题的问题——您正在建模的结构是一个有向图。请使用 Python 的 networkx 包。如果您要对数据进行一些后处理,那么使用此包是一个好主意。但是,对于简单的情况,您可以创建自己的数据结构。这是使用图的邻接列表表示的示例;使用邻接矩阵代替并不困难。

from collections import defaultdict
adj_list = defaultdict( set )

for filename in os.listdir( <dir> ):
    with open( filename ) as theFile:
        for line in theFile:
            # parse line into filename, say 'target'
            adj_list[ filename ].add( target )

这将为您提供一个文件名字典 ->由该文件链接的文件。

EDIT: I see you were the one who asked the previous question! Why open a new one?


There was a recent question on this exact problem -- the structure you are modelling is a directed graph. See my answer to that question, using Python's networkx package. Using this package is a good idea if you are going to do some post-processing of the data. However, for simple situations, you could make your own data structure. Here is a sample using an adjacency list representation of a graph; it is not difficult to use an adjacency matrix instead.

from collections import defaultdict
adj_list = defaultdict( set )

for filename in os.listdir( <dir> ):
    with open( filename ) as theFile:
        for line in theFile:
            # parse line into filename, say 'target'
            adj_list[ filename ].add( target )

This will give you a dictionary of filename -> files linked by that file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文