首页 > 解决方案 > argparse 的非英语参数

问题描述

蟒蛇 3.7.9

Ubuntu 20.04

我正在扩展 django 3.1 管理命令功能并将参数解析器添加到我的命令之一,如下所示:

class Command(BaseCommand):

    def add_arguments(self, parser):
        parser.add_argument('-c',
                            '--clients',
                            nargs='*',
                            help='list of clients to handle')

manage.py 命令 -h

  -c [CLIENTS [CLIENTS ...]], --clients [CLIENTS [CLIENTS ...]]
                        list of clients to handle

问题是当我尝试传递这样的非英语参数时:

manage.py download_feeds -c ЖЫВТОНЕ

并像这样处理论点:

    def handle(self, *args, **options):

        if options['clients']:  # parameters are specified
            for param in options['clients']:
                print(str(param))

它打印我��������������

如何正确处理?所以我可以得到 ЖЫ​​ВТОНЕ 而不是乱码?

标签: python-3.xdjangoencodingargparse

解决方案


推荐阅读