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

Python循环批量创建文件报TypeError: expected str...not tuple如何解决?

错误产生原因
  • filename=(i_str, '.txt')使用逗号分隔两个值,在Python中该写法会生成元组,但open()函数的第一个路径参数仅支持字符串、字节或者os.PathLike类型的对象,不接受元组作为入参,因此触发类型错误。
  • 代码中i_str=str写法有误,此处仅将str类本身赋值给了变量,没有完成将数字i转为字符串的逻辑,正确写法应为str(i)。
  • 循环中遍历得到的it变量(即列表内的a/b/c等字符)没有被实际使用,不符合按列表内容命名文件的潜在需求。
修复后的代码

根据不同的命名规则,提供两种可直接运行的实现:

方案1:按数字序号命名(生成1.txt、2.txt、3.txt...)

推荐使用with上下文管理器写法,无需手动调用close(),可避免文件资源泄漏:

ll=['a','b','c','e','f']
# enumerate第二个参数start指定序号起始值为1
for i, it in enumerate(ll, start=1):
    # 用f-string拼接文件名,语法更简洁易读
    with open(f"{i}.txt", 'w') as f:
        f.write("i dont think you can close this mate :)")

方案2:按列表内的字符命名(生成a.txt、b.txt、c.txt...)

ll=['a','b','c','e','f']
for char in ll:
    with open(f"{char}.txt", 'w') as f:
        f.write("i dont think you can close this mate :)")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 15:45:00