On 7/20/2017 3:19 PM, Hongze Liu wrote:
Hello Python,I encountered this problem: File "C:\Users\Hongze\AppData\Local\Programs\python\Python36\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "C:\Users\Hongze\AppData\Local\Programs\python\Python36\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "ok\__main__.py", line 46, in <module> File "ok\client\cli\ok.py", line 201, in main File "ok\client\protocols\rate_limit.py", line 41, in run File "ok\client\utils\storage.py", line 28, in get File "ok\client\utils\storage.py", line 18, in contains File "C:\Users\Hongze\AppData\Local\Programs\python\Python36\lib\shelve.py", line 243, in open return DbfilenameShelf(filename, flag, protocol, writeback) File "C:\Users\Hongze\AppData\Local\Programs\python\Python36\lib\shelve.py", line 227, in __init__ Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback) File "C:\Users\Hongze\AppData\Local\Programs\python\Python36\lib\dbm\__init__.py", line 94, in open return mod.open(file, flag, mode) File "C:\Users\Hongze\AppData\Local\Programs\python\Python36\lib\dbm\dumb.py", line 324, in open return _Database(file, mode, flag=flag) File "C:\Users\Hongze\AppData\Local\Programs\python\Python36\lib\dbm\dumb.py", line 71, in __init__ self._update() File "C:\Users\Hongze\AppData\Local\Programs\python\Python36\lib\dbm\dumb.py", line 106, in _update key, pos_and_siz_pair = _ast.literal_eval(line) File "C:\Users\Hongze\AppData\Local\Programs\python\Python36\lib\ast.py", line 48, in literal_eval node_or_string = parse(node_or_string, mode='eval') File "C:\Users\Hongze\AppData\Local\Programs\python\Python36\lib\ast.py", line 35, in parse return compile(source, filename, mode, PyCF_ONLY_AST) ValueError: source code string cannot contain null bytes I attempted to reinstall python and used "Repair" option, however, the issue still exists.
Because the problem is with your code. Somewhere in one of the files in your ok package passes a string or bytes containing \x00 to something that results in an attempt to compile the string. Start with storage.py, contains(), line 18 and see what is being passed. If needed work back up until you find the source of what is being passed.
-- Terry Jan Reedy -- https://mail.python.org/mailman/listinfo/python-list
