我正在阅读.txt
文件以创建我称为irTable
的词典。它包含Key,我将其称为dId(设备ID),然后是3个值,标签,频率,状态。
现在我正在阅读并附加字典,但是我没有理解将这些更改逐行重写到.txt文件的合适方法。
我目前的代码:
def writeFile():
f = open("test.txt","w")
for line in irTable: #irTable being the dictionary where my Key and 3 values are.
print(line, file="test.txt")
f.close()
输出此错误:
print(line, file="test.txt")
AttributeError: 'str' object has no attribute 'write'
供参考,我的.txt文件的格式:
rm1d1,lamp,100001,False
rm1d2,tv,100002,False
rm2d1,lamp,100003,False
那么如何将我的'新'字典写入此文件?
答案 0 :(得分:4)
print
的{{3}}期望打开文件对象作为参数。您应该传递f
而不是文件名:
print(line, file=f)
那,或者你可以使用write
的{{1}}方法:
f
但请注意,这不会添加f.write(line)
这样的换行符。如果需要,您需要手动添加它:
print
此外,f.write(line + '\n')
行需要缩小一级。否则,您将在循环的第一次迭代期间关闭该文件。当然,最好只使用file
parameter:
f.close()
完成后会自动为您关闭文件。