You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将列表各元素写入不同命名的文本文件?(附现有代码)

解决方案:将列表每个元素写入单独命名的文本文件

没问题,我来帮你调整代码,实现把res列表里的每个元素分别存入不同的、按序号命名的文本文件中。

修改后的完整代码

# append new values to list
tl1.append(tl1)
br1.append(br1)
label1.append(label1)
res.append(((label1, tl1, br1)))

# 将res的每个元素写入单独文件
for idx, item in enumerate(res, start=1):
    # 生成格式化的文件名:frame001.txt、frame002.txt...
    filename = f"frame{idx:03d}.txt"
    with open(filename, 'w') as f:
        f.write(f"{item}\n")

关键修改点解释

  1. enumerate获取元素序号enumerate(res, start=1)会同时返回元素的序号(从1开始计数)和对应的元素,这样我们可以直接用序号来生成文件名。
  2. 格式化文件名f"frame{idx:03d}.txt"里的03d是格式化语法,会把序号转为3位数字,不足位数的地方用0补全,比如序号1会变成001,序号10变成010,完全匹配你需要的命名规则。
  3. 逐个写入独立文件:遍历每个元素时,单独打开对应名称的文件,写入元素后自动关闭(with语句会帮我们处理文件的打开/关闭,避免资源泄漏)。

小提示

你原来代码里tl1.append(tl1)这种写法是把列表自身追加到列表中,可能会产生嵌套结构,如果这不是你的本意,记得改成追加实际需要的目标值(比如tl1.append(target_value)),不过你提到变量及其他参数已定义,这里就先保留你的原有逻辑啦。

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

火山引擎 最新活动