2014-12-24 3 views
0

Привет всем и с Рождеством!tkinter asksaveas не сохраняет данные

У меня есть виджет ввода текста и кнопка сохранения, чтобы сохранить содержимое текстового поля в .txt-файле. Но при запуске ничего не спасает. Может ли кто-нибудь сказать мне, что я пропустил ...?

def file_saveAs(): 
    from tkFileDialog import asksaveasfilename 
    contents = inputText.get(1.0, "end-1c") 
    save_file = asksaveasfilename(defaultextension = ".txt", initialdir = r"\\some\file\path\here") 
    line = [] 
    for line in contents: 
     line = line.strip() 
     with open(save_file, "w") as outputFile: 
      outputFile.write(line) 

Мне кажется, что это линия «для линии в содержании», где лежит проблема. Если я изменил нижнюю строку на «output.write (contents)», то она сохранит содержимое правильно, но мне нужно отфильтровать содержимое на основе нескольких других факторов, поэтому для части «внутри линии» потребуется часть.

Большое спасибо, Крис.

ответ

1

Изменение for заявление:

for line in contents.split("\n"): 

Вы должны разделить содержимое в список строк, прежде чем итерацию над ними.

Вы также должны переместить with open ... заявление вне цикла:

with open(save_file, "w") as outputfile: 
    for line in contents.split("\n"): 
     outputfile.write(line+"\n") 
+0

Это пятно на, спасибо! – user3514446

Смежные вопросы