Ravi Kumar wrote: > Hi, > > I have developed a python script to get api calls for meraki > clientlogevents Thanks for all the help previously I am facing few errors > such as > > Json_string=r.json() > > raw_decode > raise JSONDecodeError("Expecting value", s, err.value) from None > json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1) >>>> > > '{0:20} {1:30} {2:16} {3:18} {4:10} {5:11} '.format( > deviceserial, type, macaddress,occurredAt, details)) > TypeError: unsupported format string passed to NoneType.__format__ > > I know this occurs when the api response is nulls but how do I handle > this?
Say x can be a string or None. >>> for x in ["a string", None]: ... "{:20}".format(x) ... 'a string ' Traceback (most recent call last): File "<stdin>", line 2, in <module> TypeError: unsupported format string passed to NoneType.__format__ The string can be padded while None does not support that. The best solution is usually to replace None with a string that cannot occur normally, and then to use that instead of None. Example: >>> for x in ["a string", None]: ... "{:20}".format("#NONE" if x is None else x) ... 'a string ' '#NONE ' Slightly more convenient: you can force string conversion before padding: >>> for x in ["a string", None]: ... "{!s:20}".format(x) ... 'a string ' 'None ' _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor