Python中如何将rule_pro按指定格式写入文件而非输出到stdout
Python 文件写入格式问题解决方案
实现代码
你可以直接复用原有打印逻辑,利用print函数的file参数直接写入目标文件,完全复刻原有stdout的输出效果,无需自行处理字符串拼接:
with open("Outputfile", "w", encoding="utf-8") as f: print(*rule_pro, sep=",", file=f)
如果需要手动拼接实现相同效果,写法如下(适配列表元素非字符串的场景):
with open("Outputfile", "w", encoding="utf-8") as f: f.write(",".join(map(str, rule_pro)) + "\n")
如果你的预期输出是「每条规则后带逗号、且单独占一行」,仅需将上述代码的分隔符参数修改为",\n"即可。
此前写法错误原因
- 直接写入
str(rule_pro):是将Python列表对象直接转为原生字符串输出,会自带方括号、元素引号等列表标识,不符合格式化要求 - 遍历列表逐行写入:等同于将分隔符设置为换行符,和原有的逗号分隔要求不符
内容的提问来源于stack exchange,提问作者Dev
相关产品推荐
相关产品推荐

