Форматирование F-строки в Python не работает со встроенным strftime - PullRequest
0 голосов
/ 12 ноября 2018

У меня странная ошибка, которую я пытаюсь понять.Выполнение некоторой общей очистки кода и преобразование всего форматирования строки в f-строки.Это на Python 3.6.6

Этот код не работает:

from datetime import date
print(f'Updated {date.today().strftime('%m/%d/%Y')}')

  File "<stdin>", line 1
    print(f'Updated {date.today().strftime('%m/%d/%Y')}')
                                               ^
SyntaxError: invalid syntax

Однако, это (функционально то же самое) работает:

from datetime import date
d = date.today().strftime('%m/%d/%Y')
print(f'Updated {d}')

Updated 11/12/2018

Я чувствуюкак будто я, вероятно, упускаю что-то очевидное, и со второй итерацией все в порядке, но я хочу понять, что здесь происходит.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

если строка является частью другой строки, вам нужно использовать двойные кавычки в одной из них

(f"updated {date.today().strftime('%D')}") # %m/%d/%y can also be written %D
0 голосов
/ 12 ноября 2018
print(f'Updated {date.today().strftime("%m/%d/%Y")}')

Ваш код преждевременно заканчивает определение строки.

...