Yeah, that’s something I missed too, I always assume you were using python 2, my bad. So all the issue here should be when modifying the load as in python 3 it is treated as a byte object and not a string and replacing it as a string instead of byte object, also the netfilterqueue version could be the reason. Which was the commands use to install it in python3? Also I’ll suggest to write it in python2 as netfilterqueue works better in python 2, at least it seems to me taht it works better with this python version, hope netfilterqueue’s developers update it soon so it works better with python 3.
Can you also share a screenshot of the load content? I mean the output of .show()