如何将for循环输出的字符串/浮点数写入文本文件并添加[61-70]?
实现输出写入文件并添加[61-70]的几种方法
嘿,针对你的需求,这里有几个Python里常用的函数/方法可以实现,我结合你的现有代码给你具体示例:
1. 基础版:open() + write() 方法
这是最直接的文件写入方式,手动打开文件后,把处理好的内容(包含[61-70])写入文件,最后记得关闭文件:
# 假设你的b是包含(城市, 数值)的可迭代对象 b = [("AKRON", 65.5574), ("ALTON", 69.6722)] # 打开文件('w'表示写入模式,若文件不存在则创建,存在则覆盖) file = open("output.txt", "w") for city, number in b: city = '{:^30}'.format(city) number = '{:<5}'.format(number) # 拼接内容,加上[61-70] line = f"{city} {number} [61-70]\n" file.write(line) # 务必关闭文件 file.close()
2. 便捷版:利用print()的file参数
如果你习惯用print()输出,可以直接指定file参数将内容打印到文件里,省掉手动写write()的步骤:
b = [("AKRON", 65.5574), ("ALTON", 69.6722)] file = open("output.txt", "w") for city, number in b: city = '{:^30}'.format(city) number = '{:<5}'.format(number) # 用print的file参数输出到文件,end='\n'保证每行换行 print(city, number, "[61-70]", file=file, end='\n') file.close()
3. 推荐版:使用with上下文管理器(自动关闭文件)
这个方法更安全,不需要手动调用close(),Python会在代码块结束后自动关闭文件,避免因忘记关闭导致的资源泄漏:
b = [("AKRON", 65.5574), ("ALTON", 69.6722)] # with语句会自动管理文件生命周期 with open("output.txt", "w") as file: for city, number in b: city = '{:^30}'.format(city) number = '{:<5}'.format(number) line = f"{city} {number} [61-70]\n" file.write(line)
补充说明:
- 如果想追加内容到已有文件而不是覆盖,把打开模式从
'w'改成'a'即可。 - 格式字符串也可以保留你原来的写法,我用f-string是为了更简洁,两种方式都能正常工作。
内容的提问来源于stack exchange,提问作者Code Vanessa
相关产品推荐
相关产品推荐

