Невозможно записать в файл - python

86
10

l = []

print("We will need some information first.")
t_first_name = input("User First Name: ").lower()
while len(t_first_name) == 0 or t_first_name == ' ':
t_first_name = input("User First Name: ").lower()

while len(t_last_name) == 0 or t_last_name == ' ':
t_last_name = input("User Surname: ").lower()

f_n_up = t_first_name.upper()
l_n_up = t_last_name.upper()
f_n_title = t_first_name.title()
l_n_title = t_last_name.title()

l.append(t_first_name) # Lowercase
l.append(t_last_name)
l.append(f_n_up) # Uppercase
l.append(l_n_up)
l.append(f_n_title) # The first letter is uppercase
l.append(l_n_title)

f = open("p_list.txt", "a")
for x in l:
print(x)
if len(x) >= 5:
f.write(x)
print("test")

Он покажет линии print и создаст файл, но когда я его открою, я не найду в нем никаких слов.

Он попросит имя пользователя, а затем сделает список о нем, добавив его в список l а затем запустит внутри него цикл и напишет строку в файле.

спросил(а) 2016-11-07T16:27:00+03:00 3 года, 7 месяцев назад
1
Решение
54

Вы должны либо вызвать f.close() либо f.flush() чтобы данные были фактически записаны в файл.

Другое (и лучше) решение заключается в использовании with обрабатывать открытие файла и закрытие для вас:

with open('p_list.txt', 'a') as f:
for x in l:
print(x)
if len(x) >= 5:
f.write(x)
print("test")

ответил(а) 2016-11-07T16:32:00+03:00 3 года, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема