Message ID | 20191010122154.10553-1-stefanha@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | trace: avoid "is" with a literal Python 3.8 warnings | expand |
On Thu, Oct 10, 2019 at 01:21:54PM +0100, Stefan Hajnoczi wrote: > The following statement produces a SyntaxWarning with Python 3.8: > > if len(format) is 0: > scripts/tracetool/__init__.py:459: SyntaxWarning: "is" with a literal. Did you mean "=="? > > Use the conventional len(x) == 0 syntax instead. > > Reported-by: Daniel P. Berrangé <berrange@redhat.com> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> > --- > scripts/tracetool/__init__.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
On 10/10/19 2:21 PM, Stefan Hajnoczi wrote: > The following statement produces a SyntaxWarning with Python 3.8: > > if len(format) is 0: > scripts/tracetool/__init__.py:459: SyntaxWarning: "is" with a literal. Did you mean "=="? > > Use the conventional len(x) == 0 syntax instead. Ah this is a new change from 3.8... https://docs.python.org/3.9/whatsnew/3.8.html From https://bugs.python.org/issue34850 > Reported-by: Daniel P. Berrangé <berrange@redhat.com> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > scripts/tracetool/__init__.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py > index 04279fa62e..44c118bc2a 100644 > --- a/scripts/tracetool/__init__.py > +++ b/scripts/tracetool/__init__.py > @@ -456,12 +456,12 @@ def generate(events, group, format, backends, > import tracetool > > format = str(format) > - if len(format) is 0: > + if len(format) == 0: > raise TracetoolError("format not set") > if not tracetool.format.exists(format): > raise TracetoolError("unknown format: %s" % format) > > - if len(backends) is 0: > + if len(backends) == 0: > raise TracetoolError("no backends specified") > for backend in backends: > if not tracetool.backend.exists(backend): >
On Thu, Oct 10, 2019 at 01:21:54PM +0100, Stefan Hajnoczi wrote: > The following statement produces a SyntaxWarning with Python 3.8: > > if len(format) is 0: > scripts/tracetool/__init__.py:459: SyntaxWarning: "is" with a literal. Did you mean "=="? > > Use the conventional len(x) == 0 syntax instead. > > Reported-by: Daniel P. Berrangé <berrange@redhat.com> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> > --- > scripts/tracetool/__init__.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Thanks, applied to my tracing tree: https://github.com/stefanha/qemu/commits/tracing Stefan
Stefan Hajnoczi <stefanha@redhat.com> writes: > The following statement produces a SyntaxWarning with Python 3.8: > > if len(format) is 0: > scripts/tracetool/__init__.py:459: SyntaxWarning: "is" with a literal. Did you mean "=="? > > Use the conventional len(x) == 0 syntax instead. > > Reported-by: Daniel P. Berrangé <berrange@redhat.com> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> > --- > scripts/tracetool/__init__.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py > index 04279fa62e..44c118bc2a 100644 > --- a/scripts/tracetool/__init__.py > +++ b/scripts/tracetool/__init__.py > @@ -456,12 +456,12 @@ def generate(events, group, format, backends, > import tracetool > > format = str(format) > - if len(format) is 0: > + if len(format) == 0: > raise TracetoolError("format not set") > if not tracetool.format.exists(format): > raise TracetoolError("unknown format: %s" % format) > > - if len(backends) is 0: > + if len(backends) == 0: > raise TracetoolError("no backends specified") > for backend in backends: > if not tracetool.backend.exists(backend): For what it's worth, PEP 8 advises For sequences, (strings, lists, tuples), use the fact that empty sequences are false. Yes: if not seq: if seq: No: if len(seq): if not len(seq):
diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py index 04279fa62e..44c118bc2a 100644 --- a/scripts/tracetool/__init__.py +++ b/scripts/tracetool/__init__.py @@ -456,12 +456,12 @@ def generate(events, group, format, backends, import tracetool format = str(format) - if len(format) is 0: + if len(format) == 0: raise TracetoolError("format not set") if not tracetool.format.exists(format): raise TracetoolError("unknown format: %s" % format) - if len(backends) is 0: + if len(backends) == 0: raise TracetoolError("no backends specified") for backend in backends: if not tracetool.backend.exists(backend):
The following statement produces a SyntaxWarning with Python 3.8: if len(format) is 0: scripts/tracetool/__init__.py:459: SyntaxWarning: "is" with a literal. Did you mean "=="? Use the conventional len(x) == 0 syntax instead. Reported-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> --- scripts/tracetool/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)