You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

读取文件时统计单行'/'数量并按'/'拆分路径的实现方法

完整实现代码(Python)

你原有遍历txt的逻辑可以直接嵌入以下处理逻辑,完整可运行示例:

import os

def process_path_txt(target_dir: str = "."):
    # 遍历目标目录下所有txt文件
    for file in os.listdir(target_dir):
        if not file.endswith(".txt"):
            continue
        file_full_path = os.path.join(target_dir, file)
        with open(file_full_path, "r", encoding="utf-8") as f:
            for line in f:
                # 去除行首尾换行、空格,跳过空行
                pure_path = line.strip()
                if not pure_path:
                    continue

                # 1. 统计/字符数量
                slash_num = pure_path.count("/")
                # 此处可替换为你自己的统计结果存储逻辑
                print(f"路径:{pure_path},含/数量:{slash_num}")

                # 2. 拆分路径获取各层级节点
                level_nodes = pure_path.split("/")
                # 后续逐层级处理示例:遍历输出每个层级的目录名
                for idx, node in enumerate(level_nodes):
                    print(f"第{idx+1}级节点:{node}")

if __name__ == "__main__":
    # 传入txt文件所在的文件夹路径,默认处理当前脚本所在文件夹
    process_path_txt()

关键逻辑说明

  • 行预处理:读取每行后先执行strip(),避免换行符、首尾多余空格干扰统计和拆分结果,空行直接跳过不处理
  • /数量统计:直接调用Python字符串原生的count()方法,传入'/'即可直接得到计数,性能比手动遍历更高
  • 路径拆分:split('/')返回的列表就是按层级排序的目录节点,你可以通过索引level_nodes[0]、level_nodes[1]直接取对应层级的目录,也可以遍历列表做后续业务处理

特殊场景兼容

如果你的路径里包含开头带/的绝对路径,拆分后第一个元素会是空字符串,可加过滤逻辑去掉无效节点:

level_nodes = [n for n in pure_path.split("/") if n]

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 02:06:05