如何在Python文件中转换空格?

6 投票
6 回答
807 浏览
提问于 2025-04-16 08:00

我有一些用制表符(Tab)格式的Python代码,还有一些用空格格式的Python代码。

把这两种代码合并在一起真是太麻烦了……我的编辑器只能用制表符或空格,不能同时使用两者。

有没有什么命令行工具或者其他方法,可以把Python代码的格式从一种转换成另一种呢?

6 个回答

2

你可以使用expandunexpand这两个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

撰写回答