文件中的Python非ASCII字符'\ x8b' - 第1行

时间:2014-07-20 13:57:26

标签: python encoding character-encoding non-ascii-characters check-mk

我正在设置一个使用python制作的脚本的监控系统。 (仅用于通过check_mk获取OMD linux发行版的信息)。

无论如何,这是我想要使用的脚本

#!/usr/bin/python
# -*- encoding: utf-8; py-indent-offset: 4 -*-
# WARN num, CRIT num
eximq_default_levels = (100, 200) 

def inventory_eximq(info):
if len(info) > 0 and info[0] != '':
    return [(None, 'eximq_default_levels')]

def check_eximq(item, params, info):
for line in info:
    if line[0] == '0':
        return (0, 'OK - The mailqueue is empty ', [ ('length', 0, params[0], params[1]),
                                                     ('size', '0') ])
    else:
        len     = int(line[0])

        perfdata = [ ('length', len, params[0], params[1])]

        if len > params[1]:
            return (2, 'CRIT - Mailqueue length is %d '
                       '(More than threshold: %d)' % (len, params[0]), perfdata)
        elif len > params[0]:
            return (1, 'WARN - Mailqueue length is %d '
                       '(More than threshold: %d)' % (len, params[0]), perfdata)
        else:
            return (0, 'OK - Mailqueue length is %d ' % len, perfdata)

return (3, 'UNKNOWN - Could not find summarizing line in output')

check_info['eximq'] = (check_eximq, "Exim Queue", 1, inventory_eximq)
checkgroup_of["eximq"] = "mailqueue_length"

当我从这个脚本编译/创建包时,我收到以下错误

  

插件文件错误/omd/sites/infonet/local/share/check_mk/checks/eximq-1.0.mkp:文件中的非> ASCII字符'\ x8b'/ omd / sites / infonet / local / share /check_mk/checks/eximq-1.0.mkp>在第1行,但没有声明编码;有关>详细信息,请参阅http://www.python.org/peps/pep-0263.html(eximq-1.0.mkp,第1行)

我尝试将编码更改为编码,完全删除它,在#!/ usr / bin / python之前添加它,但没有任何帮助。我还通过vi检查文件,并显示所有字符,我没有在这些位置找到任何奇怪的字符。

操作系统是Centos,python是2.6

还有什么我可以尝试解决这个问题吗?

P.S。 如果它是相关的,那么这是从脚本创建包的指南 https://mathias-kettner.de/checkmk_packaging.html

0 个答案:

没有答案