【com】命令行返回ascii码错误问题处理

2016-11-24  本文已影响22人  EldonZhao

问题现象

[root@BFJD-PSC-BCEC-CORE-SV26 ~]# neutron port-list
'ascii' codec can't encode characters in position 180791-180794: ordinal not in range(128)

Debug信息

问题分析

File "/usr/lib/python2.7/site-packages/cliff/formatters/table.py", line 56, in emit_list

问题处理

vim /usr/lib/python2.7/site-packages/cliff/formatters/table.py

修改前:
    def emit_list(self, column_names, data, stdout, parsed_args):
        ......
        formatted = x.get_string(fields=column_names)
        stdout.write(formatted)
        stdout.write('\n')
        return

    def emit_one(self, column_names, data, stdout, parsed_args):
        ......
        formatted = x.get_string(fields=('Field', 'Value'))
        stdout.write(formatted)
        stdout.write('\n')
修改后:
    def emit_list(self, column_names, data, stdout, parsed_args):
        ......
        formatted = x.get_string(fields=column_names)
        formatted = formatted.encode('utf-8')
        stdout.write(formatted)
        stdout.write('\n')
        return

    def emit_one(self, column_names, data, stdout, parsed_args):
        ......
        formatted = x.get_string(fields=('Field', 'Value'))
        formatted = formatted.encode('utf-8')
        stdout.write(formatted)
        stdout.write('\n')
neutron port-list
上一篇 下一篇

猜你喜欢

热点阅读