python - 我不能让列表写成 txt (python)
问题描述
我想用writelines()让列表写入txt,但是运行之后,我的txt里面什么都没有。我的代码有什么问题?
如果可以的话,请帮助我。谢谢!
示例列表(记录):[['flower', '200'], ['ham', '60'], ['van', '150']]
我想在txt中写如下:
花 200
火腿 60
面包车 50
我的代码:
def save(initial_money, records): # I need both so don't change.
with open('records.txt', 'w') as f:
first_line = str(initial_money) + "\n"
f.write(first_line)
return initial_money
L = []
for rec, amt in records:
all_rec = str(rec) + " " + str(amt) + "\n"
L.append(all_rec)
f.writelines(records) # must use writelines
return records
解决方案
这应该这样做:
def save(initial_money, records):
with open('records.txt', 'w') as f:
first_line = str(initial_money) + "\n"
f.write(first_line)
for rec, amt in records:
f.write(str(rec) + " " + str(amt) + "\n")
第一次返回关闭函数,您也不需要第二次返回,records
可作为参数使用。
如果你坚持使用writelines
,你可以修改如下:
def save(initial_money, records):
with open('records.txt', 'w') as f:
first_line = str(initial_money) + "\n"
f.write(first_line)
L = []
for rec, amt in records:
L.append(str(rec) + " " + str(amt) + "\n")
f.writelines(L)
推荐阅读
- azure - IoT 中心到 Azure Edge
- excel - 在子 Worksheet_Change 中计算具有绿色背景值 = 0 的单元格的代码
- flutter - 如何在 Flutter 中使用构造函数类添加多个字符串
- nativescript - 在 Vue 项目中全屏显示 + 带有 Notch 的 NativeScript
- php - Woocommerce - sizeof():参数必须是数组或实现 Countable 的对象
- mysql - 我想使用 mysql 查询获得总行数
- electron - 如何在electronjs的电子主窗口的子窗口中加载外部文件
- python - 带有浏览按钮的自定义项目委托的 QTreeView
- python - Pandas 未在索引分配 Python3.5.0 后添加列
- javascript - 如何使用javascript替换功能在每个xml结束标记后输入换行符?