Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Linux:解析期间出错:';ascii';编解码器可以';t解码位置1中的字节0x8b:序号不在范围内(128)_Python_Linux_Encoding_Utf 8_Locale - Fatal编程技术网

Python Linux:解析期间出错:';ascii';编解码器可以';t解码位置1中的字节0x8b:序号不在范围内(128)

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

我在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 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字符串。可能与某些脚本不兼容,但我认为这将为您带来好处。为什么这个问题被标记为关闭。请发表评论。网上的解决方案对我不起作用……我已经试过了。