pythonstring

Check if string is None, empty or has spaces only


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:


Solution

  • 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.