>source

Windows 10에서 spyder로 스크립트를 테스트했으며 완벽하게 작동했습니다. 이제 우분투 가상 호스트에서 실행하려고하는데 잘못된 구문 오류가 발생합니다.

파이썬 버전은 Python 3.5.2 (업데이트 후 얻은 최신 버전). Ubuntu 버전은

Description:    Ubuntu 16.04.7 LTS
Release:        16.04
Codename:       xenial

구식이라는 것을 알고 있지만 직접 업데이트 할 수 없습니다 ...

문제를 일으키는 코드는 간단합니다.

# Begin of time period. Format: YYYY-mm-dd
date_from = f'{year}-01-01'

"python my_file.py"로 테스트 중입니다.

  • 답변 # 1

    F- 문자열 만 사용할 수 있습니다. Python 3.6 위의 Python 3.6의 새로운 기능에서 언급 한대로 :

    New Features PEP 498 introduces a new kind of string literals: f-strings, or formatted string literals.

    형식화 된 문자열 리터럴은 'f'로 시작되며 str.format ()에서 허용하는 형식 문자열과 유사합니다. 중괄호로 둘러싸인 대체 필드가 ​​포함됩니다. 대체 필드는 런타임에 평가 된 다음 format () 프로토콜을 사용하여 형식이 지정되는 표현식입니다.

    이 문제를 해결하려면 다음을 사용할 수 있습니다. str.format() 대신 : date_from = '{}-01-01'.format(year) 또는 Python을 업그레이드 할 수 있습니다. sudo apt install python3.7

  • 이전 android - 목록의 문자열에 따라 이미지 표시
  • 다음 kotlin - Android KTX가 완전히 지원 중단되었거나 일부 또는 확장 기능 만 지원 되나요?