What's the Pythonic way of checking whether a string is None
, empty or has only whitespace (tabs, spaces, etc)? Right now I'm using the following bool check:
s is None or not s.strip()
..but was wondering if there's a more elegant / Pythonic way to perform the same check. It may seem easy but the following are the different issues I found with this:
isspace()
returns False if the string is empty.True
in Python.isspace()
or strip()
, on a None
object.The only difference I can see is doing:
not s or not s.strip()
This has a little benefit over your original way that not s
will short-circuit for both None
and an empty string. Then not s.strip()
will finish off for only spaces.
Your s is None
will only short-circuit for None
obviously and then not s.strip()
will check for empty or only spaces.