2017-07-02 22 views
0

我在Visual Studio上使用Python 3.6。 下面是Python的交互式登錄帶評論的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' 
>>> 

DEDENT語言正確unindents在第一種情況下領先的標籤,但是當我加入「#」,導致標籤不unindents。這是打算?

回答

1

textwrap.dedent()假定它的參數是純文本,而不是Python源代碼。它不會將「#」解釋爲評論。

這兩個例子的行爲相似:

>>> dedent("\ta = 4\n#") 
'\ta = 4\n#' 
>>> dedent("\ta = 4\nx") 
'\ta = 4\nx'