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

如何仅追加文件路径?请求提取多个TXT文件路径的技术解决方案

嘿,这问题很好解决!

你现在代码里的dirfiles.append(f)是把打开后的文件对象(就是你看到的<_io.TextIOWrapper...>那串东西)添加到列表里了,而不是你需要的文件路径字符串。其实完全不需要打开文件,直接把拼接好的路径存进列表就可以啦。

改好的代码示例

import os

path = r"mypath"
dirfiles = []

for filename in os.listdir(path):
    # 如果你只需要TXT文件,加个过滤条件
    if filename.endswith('.txt'):
        # 拼接完整路径,直接加到列表里
        full_path = os.path.join(path, filename)
        dirfiles.append(full_path)
        print(dirfiles)

额外优化建议

  • 要是不需要只选TXT文件,删掉if filename.endswith('.txt'):这行就行。
  • 原来的try-except可以去掉,因为我们不再打开文件,也就不会触发文件操作的异常了。
  • 用列表推导式能让代码更简洁:
import os

path = r"mypath"
# 只收集TXT文件路径
dirfiles = [os.path.join(path, f) for f in os.listdir(path) if f.endswith('.txt')]
# 收集所有文件路径的话,去掉判断条件:
# dirfiles = [os.path.join(path, f) for f in os.listdir(path)]
print(dirfiles)

这样输出的dirfiles里就全是干净的文件路径字符串,不会有那些模式、编码的额外信息咯。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 22:27:42