我正在尝试在PY2和PY3中使用unicode制作Argparse,最好不要使用if six.PY2:
或sys.version_info.major
之类的复杂构造。当使用unicode进行io操作或直接字符串文字时,我知道我必须使用io / codecs或从__futute__
导入来解决这些问题。但是不确定argparse的最佳方法是什么。目前我正在使用此代码:
parser = argparse.ArgumentParser()
argv_enc = sys.getfilesystemencoding()
parser.add_argument('url', type=lambda s: bytearray(s,argv_enc).decode(argv_enc))
我认为这是不正确的,因为bytearray尝试解码ASCII,我根本不需要这个步骤。相反,我想解码s
只有它尚未被解码。
提前谢谢。