Python Linux:解析期间出错:';ascii';编解码器可以';t解码位置1中的字节0x8b:序号不在范围内(128)
我在Debian系统上工作,在那里我必须阻止IP地址列表。当我使用程序“iblocklist2ipset”执行此操作时,出现以下错误Python Linux:解析期间出错:';ascii';编解码器可以';t解码位置1中的字节0x8b:序号不在范围内(128),python,linux,encoding,utf-8,locale,Python,Linux,Encoding,Utf 8,Locale,我在Debian系统上工作,在那里我必须阻止IP地址列表。当我使用程序“iblocklist2ipset”执行此操作时,出现以下错误 [0/16] Error during parsing: 'ascii' codec can't decode byte 0x8b in position 1: ordinal not in range(128) [1/16] Error during parsing: 'ascii' codec can't decode byte 0x8b in positio
[0/16] Error during parsing: 'ascii' codec can't decode byte 0x8b in position 1: ordinal not in range(128)
[1/16] Error during parsing: 'ascii' codec can't decode byte 0x8b in position 1: ordinal not in range(128)
[2/16] Error during parsing: 'ascii' codec can't decode byte 0x8b in position 1: ordinal not in range(128)
[3/16] Error during parsing: 'ascii' codec can't decode byte 0x8b in position 1: ordinal not in range(128)
正如我所检查的,这与Python和区域设置有关。我对Python不太熟悉,但为了安全起见,我通过区域设置进行了重新配置,并重新启动了机器,但没有任何用处。目前,Locale的输出如下:
user:/home/deploy# locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
我做错什么了吗。请告诉我如何解决这个问题。非常感谢。:-) 我认为这可能有助于您详细了解您的问题。
请点击此处:
当您运行iblocklist2ipset并获取URL时,请确保删除其中的“gz”,因为您将以文本形式保存数据。
这一直有效,直到生成修补程序时出错,因为数据是用“gzip”压缩的。
您必须更改“network.py”来解压缩即将到来的流,它将工作。我遇到了问题,但如何在系统范围内应用一些设置,以便在调用程序时不会发生此问题?您可以切换到python 3.x,其中默认情况下所有字符串都是unicode,字节和字节数组都是ascii字符串。可能与某些脚本不兼容,但我认为这将为您带来好处。为什么这个问题被标记为关闭。请发表评论。网上的解决方案对我不起作用……我已经试过了。