Как решить «Частные тестовые случаи» PySchool - PullRequest
0 голосов
/ 08 января 2020

Я действительно запутался. Я решаю PySchool Practices для университета и получаю проблему в Topi c 13: Вопрос 2. Мне нужно: Создать функцию, которая добавляет имя и адрес электронной почты в конец именованного файла.

Код, который я использую:

    # Create a function that appends the name and email to the end of a named file.
def addEmail(filename, name, email):
    f = open(filename, 'a') # replace the mode
    f.write("\n"+name+' '+email)
    # Append name and email, each record should end with '\n'.
    f.close()
    # close file
    return f # do not remove this line 

Я получаю: Ошибка Я не могу понять, где моя ошибка. Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 08 января 2020

Ваш код помещает символ новой строки в начало строки, добавленной в файл. Однако весьма вероятно, что файл уже имеет символ новой строки в конце последней строки для начала.

Скорее вы должны поставить символ новой строки в конце строки, которую вы добавляете. Я попробовал этот вариант; это работает.

0 голосов
/ 08 января 2020

вы можете проверить, находится ли файл в той же директории, или это полное местоположение файла. Также я предлагаю вам использовать с:

#with will close file automatically when code is done
with open(filename, 'a') as f:
    # If using python 3.6 and up you can use f-String formatting  
    f.write(f'\n{name} {email}')
...