2017-07-02 5 views
0

私は視覚スタジオでPython 3.6を使用しています。以下 はDEDENTが適切に最初のケースの主要なタブをunindentsが、私は「#」を追加したときに、タブをリードするunindentsないコメント付きPython textwrap.dedentが期待どおりに動作しない

>>> from textwrap import dedent 
>>> dedent("\ta = 4\n") 
'a = 4\n' 
>>> dedent("\ta = 4\n#") 
'\ta = 4\n#' 
>>> dedent("\ta = 4\n\t#") 
'a = 4\n#' 
>>> dedent("\ta = 4\n\t\n#") 
'\ta = 4\n\n#' 
>>> dedent("\ta = 4\n\t\n\t#") 
'a = 4\n\n#' 
>>> dedent("\ta = 4\n\t#\n\t") 
'a = 4\n#\n' 
>>> dedent("\ta = 4\n\t\n#\t") 
'\ta = 4\n\n#\t' 
>>> 

Pythonの対話ログです。これは意図されていますか?

答えて

1

textwrap.dedent()は、その引数がPythonソースコードではなくプレーンテキストであることを前提としています。コメントとして "#"を解釈しません。

次の2つの例も同様に動作します:

>>> dedent("\ta = 4\n#") 
'\ta = 4\n#' 
>>> dedent("\ta = 4\nx") 
'\ta = 4\nx' 
関連する問題