A backport of fstrings to python<3.6
A backport of fstrings to python<3.6.
pip install future-fstrings
Include the following encoding cookie at the top of your file (this replaces the utf-8 cookie if you already have it):
# -*- coding: future_fstrings -*-
And then write python3.6 fstring code as usual!
# -*- coding: future_fstrings -*-
thing = 'world'
print(f'hello {thing}')
$ python2.7 main.py
hello world
future-fstrings
also includes a cli to show transformed source.
$ future-fstrings-show main.py
# -*- coding: future_fstrings -*-
thing = 'world'
print('hello {}'.format((thing)))
The future-fstrings-show
command can be used to transform source before
distributing. This can allow you to write f-string code but target platforms
which do not support f-strings, such as micropython.
To use this on modern versions of python, install using:
pip install future-fstrings[rewrite]
and then use future-fstrings-show
as above.
For instance:
future-fstrings-show code.py > code_rewritten.py
future-fstrings
has two parts:
codec
which performs source manipulation
codec
first decodes the source bytes using the UTF-8 codeccodec
then leverages
tokenize-rt to rewrite
f-strings..pth
file which registers a codec on interpreter startup.