flake8 plugin which forbids printf-style string formatting
pip install flake8-printf-formatting
Code | Description |
---|---|
MOD001 | do not use printf-style string formatting |
The official Python 3 documentation doesn't recommend printf-style string formatting:
The formatting operations described here exhibit a variety of quirks that lead to a number of common errors (such as failing to display tuples and dictionaries correctly). Using the newer formatted string literals, the
str.format
interface, or template strings may help avoid these errors. Each of these alternatives provides their own trade-offs and benefits of simplicity, flexibility, and/or extensibility.
print("Hello, %s!" % name)
print("Hello, {name}!".format(name=name))
print(f"Hello, {name}!")
See pre-commit for instructions
Sample .pre-commit-config.yaml
:
- repo: https://gitlab.com/pycqa/flake8
rev: 3.7.8
hooks:
- id: flake8
additional_dependencies: [flake8-printf-formatting]
- Bump version in
setup.cfg
. - Add a commit "Release vX.Y.Z".
- Make sure checks still pass.
- Draft a new release with a tag name "X.Y.Z" and describe changes which involved in the release.
- Publish the release.