如何在Python文件中转换空格?
我有一些用制表符(Tab)格式的Python代码,还有一些用空格格式的Python代码。
把这两种代码合并在一起真是太麻烦了……我的编辑器只能用制表符或空格,不能同时使用两者。
有没有什么命令行工具或者其他方法,可以把Python代码的格式从一种转换成另一种呢?
6 个回答
2
你可以使用expand和unexpand这两个Unix命令来实现这个功能。
通常来说,如果我在vim这个编辑器里写代码,我会让它自动把制表符(Tab)转换成空格。
我的配置文件~/.vimrc大致是这样的:
set expandtab
set tabstop=4
2
你可以通过输入'man expand'来获取一些信息。
这个命令在Debian系统的核心工具包里。
3
reindent.py 是一个很实用的小工具,它可以把任何 Python 的 .py 文件转换成使用 4 个空格缩进而不使用制表符(Tab)的格式。
这个工具特别适合用来“统一”来自不同地方的代码,前提是你愿意采用 4 个空格的标准格式。(如果你想用制表符的话,可以先用 reindent.py,然后再用 unix 的 unexpand
命令。)
另外,你的 Python 安装可能已经包含了 reindent.py,通常在一个名为 Tools 或 Examples 的文件夹里。在 Ubuntu 系统中,它是通过 python-examples
包提供的,路径是 /usr/share/doc/python2.6/examples/Tools/scripts/reindent.py
。