1

以前2to3は、python モジュールのフォルダーを変換していました。すべてがスムーズに進みましたが、それらのいくつかを実行しようとすると、スペースとタブに関するエラーが発生しました。私の理論:行を2to3変更すると、変更されていない残りの行とは異なり、スペースではなくタブが使用されます。これを変える方法はないかと考えていました。

エラーは次のとおりです。

TabError: inconsistent use of tabs and spaces in indentation

タブが 4 つのスペースに相当するように表示されるため、コード スニペットを表示するのは困難ですが、確認したところ、これが発生していました。

4

1 に答える 1

6

2to3空白をタブに置き換えてはならないのでTabError、コードに既に存在するタブとpython 3では単一のファイル内でタブとスペースを混在させることはできませんが、python 2では問題ありません。

reindent.pyこれは、python に付属しているスクリプトを使用して修正できます。このスクリプトは、Linux システムで見つけることができます。/usr/lib/python2.7/Tools/scripts/reindent.pyまた、必要に応じて pip by を使用してインストールすることもできますpip install reindent。次に、タブをスペースに置き換えるコマンドは次のとおりです。

reindent.py file.py
于 2015-11-25T22:56:27.080 に答える