This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2015年02月22日 00:57 by mdear, last changed 2022年04月11日 14:58 by admin. This issue is now closed.
| Messages (2) | |||
|---|---|---|---|
| msg236396 - (view) | Author: Myles Dear (mdear) | Date: 2015年02月22日 00:57 | |
The textwrap.dedent function does not work when the string to dedent itself contains embedded strings that contain newline characters. https://docs.python.org/3.4/library/textwrap.html?highlight=dedent#textwrap.dedent states that this function "can be used to make triple-quoted strings line up with the left edge of the display". It just so happens that my triple-quoted string itself contains a single-quoted string with newline characters. I would have expected textwrap.dedent to ignore these newline characters inside single or double quoted strings contained in the larger triple-quoted string. The semantics of this bug may be slightly different than https://bugs.python.org/issue19479 "textwrap.dedent doesn't work properly with strings containing CRLF", so I'm raising a new issue. I am seeing this in a module I'm writing that emits synthetic python code that is subsequently passed back into the interpreter via "exec". Python 3.4.1 (default, Nov 12 2014, 13:34:29) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from textwrap import dedent >>> s = ''' ... 'my_key' : r'my value which contains \n character' ... ''' >>> s "\n 'my_key' : r'my value which contains \n character'\n" >>> dedent(s) "\n 'my_key' : r'my value which contains \ncharacter'\n" >>> |
|||
| msg236398 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2015年02月22日 01:19 | |
If you do not want the `\n` to be interpreted as a linefeed, you need to use a raw string literal, like: a = r''' ... 'my_key' : r'my value which contains \n character' ... ''' >>> print(dedent(a)) 'my_key' : r'my value which contains \n character' |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:13 | admin | set | github: 67685 |
| 2015年02月22日 01:19:25 | ned.deily | set | status: open -> closed nosy: + ned.deily messages: + msg236398 resolution: not a bug stage: resolved |
| 2015年02月22日 00:57:55 | mdear | create | |