autopep8
autopep8 would auto-format your python script. not only the code indentation, but also other coding spacing styles. It makes your python script to conform PEP8 Style Guide.
pip install autopep8
autopep8 your_script.py # dry-run, only print
autopep8 -i your_script.py # replace content
Update:
Many editors have pep8 plugins that automatically reformat your code right after you save the file. py-autopep8 in emacs
yapf
yapf is a new and better python code formatter. which tries to get the best formatting, not just to conform the guidelines. The usage is quite the same as autopep8.
pip install yapf
yapf your_script.py # dry-run, only print
yapf -i your_script.py # replace content
For more information, like formatting configurations, please read the README.rst
on yapf github
Update 2:
Black
Black is much better than yapf. It's smarter and fits most complex formatting cases.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…