首页 > 解决方案 > Python:有没有办法过滤 c++ 文件?

问题描述

我目前正在编写一个 python 脚本,它搜索公司代码库以制作大量.cpp文件列表.hpp。其中一些文件仅包含注释和预处理器指令。有没有办法识别和过滤掉这些文件?谢谢

标签: pythonc++python-3.xsearch

解决方案


您必须阅读文件的内容

f = open("path/to/file")
contents = f.read()
f.close()

希望这些文件包含某种标记,使它们易于查找 - 标题中的内容。

if "indicative marker" in contents:
    # Label file

由于它们只是注释和预处理器指令,您可能还想逐行迭代,检查每个开头的“//”或“#”。

for line in f:
    if "//" not in line or "#" not in line:
        return False

当然,要做到这一点,您需要获取每个目录的内容列表。

import os
os.listdir("path/to/dir")

假设这些文件是嵌套的,您需要在此处导航结果。如果文件以您可以轻松识别的方式命名,您实际上可以跳过读取文件内容的步骤。


推荐阅读