On Thu, Aug 29, 2024 at 12:04:33PM -0400, Michael Santana wrote:
> Python3.12 is throwing syntax warnings in ovs-dpctl-top
> 
> [root@localhost ~]# python --version
> Python 3.12.5
> [root@localhost ~]# ovs-dpctl-top --help > /dev/null
> /usr/bin/ovs-dpctl-top:392: SyntaxWarning: invalid escape sequence '\w'
>   FIELDS_CMPND = re.compile("([\w]+)\((.+)\)")
> /usr/bin/ovs-dpctl-top:394: SyntaxWarning: invalid escape sequence '\w'
>   FIELDS_CMPND_ELEMENT = re.compile("([\w:]+)=([/\.\w:]+)")
> /usr/bin/ovs-dpctl-top:395: SyntaxWarning: invalid escape sequence '\w'
>   FIELDS_ELEMENT = re.compile("([\w]+):([-\.\w]+)")
> 
> 
> The warning seems to be new to python3.12
> 
> Python 3.12.5 (main, Aug 23 2024, 00:00:00)
> >>> import re
> >>> re.compile("([\w]+)\((.+)\)")
> <stdin>:1: SyntaxWarning: invalid escape sequence '\w'
> re.compile('([\\w]+)\\((.+)\\)')
> >>> re.compile(r"([\w]+)\((.+)\)")
> re.compile('([\\w]+)\\((.+)\\)')

Thanks Michael,

I also see this.

> 
> Python 3.11.4 (main, Jun  7 2023, 00:00:00)
> >>> import re
> >>> re.compile("([\w]+)\((.+)\)")
> re.compile('([\\w]+)\\((.+)\\)')
> 
> 
> Prepending the string with r tells python treat the string as a raw string
> literal and to not try to scape \w, \(, etc, and gets rid of the warning
> 
> Signed-off-by: Michael Santana <[email protected]>

The checkpatch warning flagged by the robot aside, which I think can be
addressed when the patch is applied, this looks good to me.

Acked-by: Simon Horman <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to