【发布时间】:2019-11-15 11:47:24
【问题描述】:
我无法将我在名为"dovutolist" 的列表框中看到的记录写入名为"nuovo_file" 的文件中。文件已创建,但不写入任何数据。
代码是这个:
def Salva_File():
percorso_file=tkinter.filedialog.asksaveasfile().name
lista=list(dovutolist.get(0,END))
print(lista)
nuovo_file=open(percorso_file,"w")
for i in range(len(lista)):
nuovo_file.write(lista[i]+'\n')
nuovo_file.close
我得到的错误是这个:
nuovo_file.write(lista[i]+'\n')
TypeError: can only concatenate tuple (not "str") to tuple
你能帮帮我吗?
【问题讨论】:
-
使用
print( lista[i] )检查变量中的内容 - 错误表明这是元组,而不是字符串。也许你必须从这个元组中得到一个元素 - 即。lists[i][0]或lists[i][1]. -
顺便说一句:你可以使用
for i in range(len(lista)): write( lists[i] )而不是for item in lista: write( item )- 它更具可读性。 -
顺便说一句:您不必转换为列表来保存它。而你在
nuovo_file.close()中忘记了()。 -
如果您使用
asksaveasfile,则无需调用open,文件会自动为您打开。 -
视频中的打印(列表)给了我 [(1, '2015', '04070870870', 'RESTAURANT A CASA DI SALVO AND LUCA DI SAPIENZA S & VIA FONDACO 4 BELPASSO', '41 . 60')]
标签: python list sqlite tkinter python-3.6