Python编写无限生成文件脚本报TypeError、WinError 6错误原因求解
问题解答
错误成因
- TypeError报错原因
- 你写的
str(x)没有将转换后的字符串结果赋值给变量,x本身仍然是整数类型,这行代码属于无效操作。 - 构造文件名时使用
x,".txt"的写法,逗号在Python中是元组构造符,不会做字符串拼接,最终你得到的text是形如(1, ".txt")的元组,open()函数不支持接收元组作为文件路径参数,因此抛出类型错误。
- 你写的
- WinError 6报错原因
你调用open()打开文件后没有手动关闭文件,循环多次运行后系统分配的文件句柄被耗尽,就会抛出该错误。同时你把x += 1放在循环外,x永远为1,程序会反复尝试操作同一个1.txt文件,也可能触发资源占用冲突导致报错。
修复后可运行代码
x = 1 V = "Test" while True: # f-string可直接完成整数转字符串、文件名拼接的逻辑 text = f"{x}.txt" # with上下文管理器会自动关闭文件,无需手动调用close(),避免句柄泄露 with open(text, "w") as f: f.write(V) x += 1
内容的提问来源于stack exchange,提问作者Duck
相关产品推荐
相关产品推荐

