Deutsch   English   Français   Italiano  
<mailman.52.1747155796.3008.python-list@python.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!fu-berlin.de!uni-berlin.de!not-for-mail
From: Thomas Passin <list1@tompassin.net>
Newsgroups: comp.lang.python
Subject: Re: backslash in triple quoted string
Date: Tue, 13 May 2025 09:34:39 -0400
Lines: 72
Message-ID: <mailman.52.1747155796.3008.python-list@python.org>
References: <CA+HdcZhMPvojVkAnGNy6-qA1Lf8LDG_Wjxef0xfSNQzU=BUEzw@mail.gmail.com>
 <CAJQBtgmV0+EViR6yWoY22VjHiVZOD6eaPiAhDfUMJRQRj=PfCQ@mail.gmail.com>
 <CAJQBtgk7ZoURixi3404asBzJX4X2A5pbCsd6SVWuqbqnMgOgQw@mail.gmail.com>
 <08f8c6cc-1cb0-4bb1-860f-d9cd56f6a4af@tompassin.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.uni-berlin.de GGEozRfBymIGHYCTJJEybwy6xFtgHMgaNWYnAh8jZ9JA==
Cancel-Lock: sha1:lhnPOOToXbxf+A6llcizSniX/5k= sha256:tsf7HLg+QLSKM9ngsjBz3JDLnLGradBjjFlPk/A5q8w=
Return-Path: <list1@tompassin.net>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
 reason="2048-bit key; unprotected key"
 header.d=tompassin.net header.i=@tompassin.net header.b=W5jeyPAA;
 dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.043
X-Spam-Evidence: '*H*': 0.91; '*S*': 0.00; 'this:': 0.03; 'def': 0.04;
 'van': 0.07; 'python.': 0.08; 'url:mailman': 0.09; '"""': 0.09;
 'though.': 0.09; 'url:reference': 0.09; 'syntax': 0.15;
 'url:listinfo': 0.15; '2025': 0.16; 'backslash': 0.16; 'bob':
 0.16; 'crashed': 0.16; 'generates': 0.16; 'received:10.0.0': 0.16;
 'received:64.90': 0.16; 'received:64.90.62': 0.16;
 'received:64.90.62.162': 0.16; 'received:dreamhost.com': 0.16;
 'string:': 0.16; 'subject:string': 0.16; 'victor': 0.16; 'wrote:':
 0.16; 'python': 0.16; 'instead': 0.17; 'bug': 0.19; 'thu,': 0.19;
 'to:addr:python-list': 0.20; 'url-ip:188.166.95.178/32': 0.20;
 'url-ip:188.166.95/24': 0.20; 'url-ip:188.166/16': 0.20;
 'version': 0.23; 'run': 0.23; 'code': 0.23; 'tried': 0.26;
 'example,': 0.28; 'it,': 0.29; 'error': 0.29; 'header:User-
 Agent:1': 0.30; 'think': 0.30; 'am,': 0.31; 'comment': 0.31;
 'program,': 0.31; 'received:100': 0.31; 'program': 0.31; 'python-
 list': 0.32; 'raw': 0.32; 'received:10.0': 0.32;
 'received:mailchannels.net': 0.32;
 'received:relay.mailchannels.net': 0.32; 'but': 0.32; 'invalid':
 0.35; 'runs': 0.35; 'header:In-Reply-To:1': 0.35; 'also,': 0.36;
 "it's": 0.36; '>>>': 0.36; 'change': 0.36; 'could': 0.37; 'url-
 ip:151.101.0.223/32': 0.37; 'url-ip:151.101.128.223/32': 0.37;
 'url-ip:151.101.192.223/32': 0.37; 'url-ip:151.101.64.223/32':
 0.37; 'example': 0.37; 'url-ip:188/8': 0.38; 'use': 0.39;
 'something': 0.39; 'quite': 0.39; 'valid': 0.39; 'appears': 0.40;
 'program.': 0.40; 'should': 0.40; 'above': 0.62; 'follow': 0.62;
 'skip:b 10': 0.63; 'skip:r 20': 0.64; 'your': 0.64; 'in:': 0.64;
 'top': 0.65; 'produce': 0.65; 'well': 0.65; 'canada': 0.67;
 'header:Received:6': 0.67; 'received:64': 0.67; 'email:': 0.68;
 'right': 0.68; 'der': 0.69; 'drop': 0.69; 'sequence': 0.69;
 'raised': 0.70; 'free': 0.71; 'future': 0.72; '....': 0.76;
 'supposed': 0.76; 'url:ca': 0.76; 'left': 0.83; '****': 0.84;
 'email name:bob': 0.84; 'eventually': 0.84; 'exactly.': 0.84;
 'grammar,': 0.84; 'strings': 0.84; 'warning': 0.84; 'british':
 0.91; 'url:music': 0.91
X-Sender-Id: dreamhost|x-authsender|tpassin@tompassin.net
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1747143281; a=rsa-sha256;
 cv=none;
 b=g4pn2VmL98IPb2S4Du2XUJC7DQAMWCbr/ucJa5oQsB+aktGrMZisQo9MnhIXTZzwHsbBtt
 XQCUQXLGzKbGN277Mli8JSDdcdzEgQT6icGAJvbRGFXSi/XDfTgVMT5680hNqz1QUJ0BMH
 FAtVyEoWbF/DEWA9oLLG3w8SO79NAck8lzOHpEkqGh2qPtLVwnsdCYEd3LMQHJyJ6pAtPb
 jOb2UZAgeLyjai4D5skm71cEpAVdI7mmUgGeXRdTA+JNBqwditqfTjb6Sv2HXcAhbOJhT3
 F+zMspjqzxtORywz0VsnOytupHSoYZVUlrJe3UCUnnhuanVTdpFXGjwQfuDwkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net; s=arc-2022; t=1747143281;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references:dkim-signature;
 bh=M0Uq1R/KpiVWb4KtIyt0ztQ2cR+NPeoTsdCmDiz4Svs=;
 b=Uamzs2LCA9XQBgp5oNds86wRYbxwyFs7JXmvjrLbCQPdur0xcCh6c0uC7AWIYak1Hb3LcH
 0wGeohafLTeqVgm+SBA0iHmGkrwplda1IUxI75YLmGgZt93i8J0cx+cDO33u/ousI4KhG1
 N+6bn64Jl3pzoUDmGFawCjP8D3v9qpG5v3/ue4rAX96YT+LUxrqTKfRYkhfzZhHnPTkmPT
 9X5x1PpZFFGtZpl3RxWb1vn14JT8dVmiumcGdu8S71OziBkaAJHlBXvYZFgw3uD0tl1ZOW
 iZyLM5bk5PdierweMPB4+XQGhpVkHYQOD3Sh7/ZgUeSI0yDus3K1ggtKNr7ofQ==
ARC-Authentication-Results: i=1; rspamd-57f676fcfb-8jqgv;
 auth=pass smtp.auth=dreamhost smtp.mailfrom=list1@tompassin.net
X-Sender-Id: dreamhost|x-authsender|tpassin@tompassin.net
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|tpassin@tompassin.net
X-MailChannels-Auth-Id: dreamhost
X-Inform-Well-Made: 59cf96a01cd4a947_1747143281639_254745009
X-MC-Loop-Signature: 1747143281639:1655585789
X-MC-Ingress-Time: 1747143281639
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tompassin.net;
 s=dreamhost; t=1747143281;
 bh=mfKWsshJlri/5s9UqjlsNKwMnM/T99tavyCpoNHDwzg=;
 h=Date:From:Subject:To:Content-Type:Content-Transfer-Encoding;
 b=W5jeyPAACK9GgvutbAGWS6j+MxFpvSGCFFNf/u8p6CsGkJKfv8b1U4BPbsbyK1Eoy
 WBBeRtKW7sY8Egh0YYjCfeF5i5wsSR6LfrNmGWU9vDbCPvElfM9lz5NrURiFaygrfH
 auRw0y0t5GWtRfwqz0U57RRRnpmfuEcPgK4YOlgYZq2wOxLbS7cqWXbYZZhsatXCtf
 EyIoNDMVjDByKh/JX19tRcMJ48CE2fXEKB0JmBP60r0yWAZHsyA3ABY+x1T0yZdia4
 x3cu1t0gv/kk+umeWm7BqTFMSDROJblqEwPKLYUOqpxDHZMzL5c8y78ES9z7GdFoy0
 wTE8I7FDqjZLg==
User-Agent: Mozilla Thunderbird
Content-Language: en-US
In-Reply-To: <CAJQBtgk7ZoURixi3404asBzJX4X2A5pbCsd6SVWuqbqnMgOgQw@mail.gmail.com>
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: General discussion list for the Python programming language
 <python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
 <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
 <mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <08f8c6cc-1cb0-4bb1-860f-d9cd56f6a4af@tompassin.net>
X-Mailman-Original-References: <CA+HdcZhMPvojVkAnGNy6-qA1Lf8LDG_Wjxef0xfSNQzU=BUEzw@mail.gmail.com>
 <CAJQBtgmV0+EViR6yWoY22VjHiVZOD6eaPiAhDfUMJRQRj=PfCQ@mail.gmail.com>
 <CAJQBtgk7ZoURixi3404asBzJX4X2A5pbCsd6SVWuqbqnMgOgQw@mail.gmail.com>
Bytes: 9461

On 5/8/2025 2:05 AM, Left Right via Python-list wrote:
> Also, it appears that the change linked above is a lie:
> 
> https://docs.python.org/3/reference/lexical_analysis.html#grammar-token-python-grammar-longstringitem
> 
> According to the grammar, any character can follow backslash in a
> valid Python program. The warning / error raised by this code should
> not be a syntax error / warning because the syntax is correct.

"Changed in version 3.12: Unrecognized escape sequences produce a 
SyntaxWarning. In a future Python version they will be eventually a 
SyntaxError."

See https://docs.python.org/3/reference/lexical_analysis.html#strings

Test case for "\" in triple-quoted string:

[code]
>>> def f():
....    """\hello"""
<stdin>:2: SyntaxWarning: invalid escape sequence '\h'
....    print('hi')
....

>>> f()
hi
[/code]

This example fits the documentation exactly. A SyntaxWarning is emitted 
for the unrecognized escape sequence "\h". The program runs as intended.

Please let's drop all the OT back-and-forth.

> On Thu, May 8, 2025 at 7:54 AM Left Right <olegsivokon@gmail.com> wrote:
>>
>> I think it could be this:
>>
>> A backslash-character pair that is not a valid escape sequence now
>> generates a SyntaxWarning, instead of DeprecationWarning. For example,
>> re.compile("\d+\.\d+") now emits a SyntaxWarning ("\d" is an invalid
>> escape sequence, use raw strings for regular expression:
>> re.compile(r"\d+\.\d+")). In a future Python version, SyntaxError will
>> eventually be raised, instead of SyntaxWarning. (Contributed by Victor
>> Stinner in gh-98401.)
>>
>> Found in:
>> https://docs.python.org/3/whatsnew/3.12.html#other-language-changes
>>
>> It's not supposed to crash your program though. If the program crashes
>> because of it, it's a bug in Python.
>>
>> On Thu, May 8, 2025 at 7:00 AM Bob van der Poel via Python-list
>> <python-list@python.org> wrote:
>>>
>>> Did something change in python buggering up my use of a "\ " sequence in a
>>> triple quoted string?
>>>
>>> I have yet to go through my archive on the program, but I tried to run it
>>> today and it crashed quite spectacularly when it hit a """ .... """ line
>>> being used as a comment at the top of a function. I changed the "\" to a
>>> "/" and all is well now.
>>>
>>>
>>> --
>>>
>>> **** Listen to my FREE CD at http://www.mellowood.ca/music/cedars ****
>>> Bob van der Poel ** Wynndel, British Columbia, CANADA **
>>> EMAIL: bob@mellowood.ca
>>> WWW:   http://www.mellowood.ca
>>> --
>>> https://mail.python.org/mailman/listinfo/python-list