我无法在名为"nuovo_file"
的列表框中看到的记录中名为"dovutolist"
的文件中写入内容。文件已创建,但未写入任何数据。
代码是这样的:
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
能请你帮我吗?
答案 0 :(得分:0)
经过许多测试之后,我设法解决了,至少绕过了障碍,得到了想要的东西,这是代码:
def isiDovuto_stampa():
percorso_file = tkinter.filedialog.asksaveasfile ().name
nuovo_file = open (percorso_file, "w")
conn = sqlite3.connect('isi_dovuto.db')
with conn:
cursore = conn.cursor()
cursore = conn.cursor()
cursore.execute("SELECT * FROM isi_dovuto")
while True:
# fin tanto che True è vero, cioè il ciclo apparentemente non termina mai ...
# as long as True is true, that is the cycle apparently never ends ...
righe = cursore.fetchall()
if len(righe) > 0:
# se abbiamo delle righe, le stampa
# if we have lines, press
for riga in righe:
#print(riga)
nuovo_file.write(str(riga)+'\n''\n')
else:
# altrimenti interrompe forzatamente il ciclo while
# otherwise it forcibly interrupts the while loop
break
nuovo_file.close ()
return righe
答案 1 :(得分:-1)
您必须在文件名中加上引号:
例如:
nuovo_file=open('file_name.txt','w')
您还应该知道,下次您进入程序时,写(w)还将覆盖所有数据。您可以使用append(a +)进行多次写入。这将保留先前的数据。