找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2356|回复: 0

[代码与实例] Python :Error 求助;新手学习

1

主题

1

帖子

1

积分

贫民

积分
1
bme 发表于 2021-2-20 11:06:16 | 显示全部楼层 |阅读模式
下面是一个有关多进程处理的代码问题:
TypeError: Pickling an Authenticati**tring object is disallowed for security reas**;
报错的位置逆序查找:
(1)
class Authenticati**tring(bytes):
    def __reduce__(self):
        from .context import get_spawning_popen
        if get_spawning_popen() is None:
            raise TypeError(
                'Pickling an Authenticati**tring object is '
                'disallowed for security reas**'
                )
        return Authenticati**tring, (bytes(self),)
(2)_tls = threading.local()

def get_spawning_popen():
    return getattr(_tls, 'spawning_popen',None)
(3)
def getattr(object, name, default=None): # known special case of getattr
    """
    getattr(object, name[, default]) -> value
    Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y.
    When a default argument is given, it is returned when the attribute doesn't
    exist; without it, an exception is raised in that case.
    """
pass
(4)错误原因似乎是spawning_popen不是_tls的属性(该属性不存在与_thread._local中);因此getattr函数返回的是None,导致报错;
(5)求助大神帮助解决此问题,谢谢



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表