@@ -12,7 +12,7 @@ msgid ""
12
12
msgstr ""
13
13
"Project-Id-Version : Python 3.12\n "
14
14
"Report-Msgid-Bugs-To : \n "
15
- "POT-Creation-Date : 2025-02-28 14:56 +0000\n "
15
+ "POT-Creation-Date : 2025-03-14 14:53 +0000\n "
16
16
"PO-Revision-Date : 2024-05-11 00:33+0000\n "
17
17
"
Last-Translator :
Rafael Fontenelle <[email protected] >, 2025\n "
18
18
"Language-Team : Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n "
@@ -716,6 +716,9 @@ msgid ""
716
716
" for options like ``+f`` or ``/foo``, may specify them using the "
717
717
"``prefix_chars=`` argument to the :class:`ArgumentParser` constructor::"
718
718
msgstr ""
719
+ "大多数命令行选项会使用 ``-`` 作为前缀,例如 ``-f/--foo``。 如果解析器需要支持不同的或者额外的前缀字符,例如像 ``+f`` 或 "
720
+ "``/foo`` 之类的选项,可以在 :class:`ArgumentParser` 构造器中使用 ``prefix_chars=`` "
721
+ "参数来指定它们::"
719
722
720
723
#: ../../library/argparse.rst:377
721
724
msgid ""
@@ -809,6 +812,10 @@ msgid ""
809
812
"encoding and error handler`. Arguments file should be encoded in UTF-8 "
810
813
"instead of ANSI Codepage on Windows."
811
814
msgstr ""
815
+ ":class:`ArgumentParser` 将读取参数的编码格式和错误处理方式从默认值 (即 "
816
+ ":func:`locale.getpreferredencoding(False) <locale.getpreferredencoding>` 和 "
817
+ "``\" strict\" ``) 改为 :term:`filesystem encoding and error handler`。 在 Windows "
818
+ "上参数文件应当以 UTF-8 而不是 ANSI 代码页来编码。"
812
819
813
820
#: ../../library/argparse.rst:426
814
821
msgid "argument_default"
@@ -1726,7 +1733,7 @@ msgstr ""
1726
1733
msgid ""
1727
1734
"If the target namespace already has an attribute set, the action *default* "
1728
1735
"will not overwrite it::"
1729
- msgstr ""
1736
+ msgstr "如果目标命名空间已经有一个属性集,则 *default* 动作不会覆盖它:: "
1730
1737
1731
1738
#: ../../library/argparse.rst:920
1732
1739
msgid ""
@@ -1793,6 +1800,8 @@ msgid ""
1793
1800
" applies to positional arguments with nargs_ values other than ``?`` or "
1794
1801
"``*``, or optional arguments marked as ``required=True``."
1795
1802
msgstr ""
1803
+ "对于 required_ 参数, ``default`` 值将被忽略。 例如,这将适用于带有 ``?`` 和 ``*`` 以外的 nargs_ "
1804
+ "值的位置参数,或者被标记为 ``required=True`` 的可选参数。"
1796
1805
1797
1806
#: ../../library/argparse.rst:950
1798
1807
msgid ""
@@ -1864,6 +1873,16 @@ msgid ""
1864
1873
"parser.add_argument('dest_file', type=argparse.FileType('w', encoding='latin-1'))\n"
1865
1874
"parser.add_argument('datapath', type=pathlib.Path)"
1866
1875
msgstr ""
1876
+ "import argparse\n"
1877
+ "import pathlib\n"
1878
+ "\n"
1879
+ "parser = argparse.ArgumentParser()\n"
1880
+ "parser.add_argument('count', type=int)\n"
1881
+ "parser.add_argument('distance', type=float)\n"
1882
+ "parser.add_argument('street', type=ascii)\n"
1883
+ "parser.add_argument('code_point', type=ord)\n"
1884
+ "parser.add_argument('dest_file', type=argparse.FileType('w', encoding='latin-1'))\n"
1885
+ "parser.add_argument('datapath', type=pathlib.Path)"
1867
1886
1868
1887
#: ../../library/argparse.rst:996
1869
1888
msgid "User defined functions can be used as well:"
@@ -1926,6 +1945,9 @@ msgid ""
1926
1945
"the parser has run and then use the :keyword:`with`-statement to manage the "
1927
1946
"files."
1928
1947
msgstr ""
1948
+ "甚至 :class:`~argparse.FileType` 在用于 ``type`` 关键字时也是有限制的。 如果一个参数使用了 "
1949
+ ":class:`~argparse.FileType` 并且有一个后续参数出错,则将报告错误但文件并不会被自动关闭。 "
1950
+ "在此情况下,更好的做法是等待直到解析器运行完毕再使用 :keyword:`with` 语句来管理文件。"
1929
1951
1930
1952
#: ../../library/argparse.rst:1029
1931
1953
msgid ""
@@ -1975,6 +1997,8 @@ msgid ""
1975
1997
"conversions have been performed, so the type of the objects in the *choices*"
1976
1998
" sequence should match the type_ specified."
1977
1999
msgstr ""
2000
+ "注意包括在 *choices* 序列中的内容会在执行任意 type_ 转换之后被检查,因此 *choices* 序列中对象的类型应当与指定的 type_"
2001
+ " 相匹配。"
1978
2002
1979
2003
#: ../../library/argparse.rst:1057
1980
2004
msgid ""
@@ -2623,6 +2647,35 @@ msgid ""
2623
2647
"usage: PROG [-h] [-1 ONE] [foo]\n"
2624
2648
"PROG: error: argument -1: expected one argument"
2625
2649
msgstr ""
2650
+ ">>> parser = argparse.ArgumentParser(prog='PROG')\n"
2651
+ ">>> parser.add_argument('-x')\n"
2652
+ ">>> parser.add_argument('foo', nargs='?')\n"
2653
+ "\n"
2654
+ ">>> # 没有负数选项,因此 -1 是位置参数\n"
2655
+ ">>> parser.parse_args(['-x', '-1'])\n"
2656
+ "Namespace(foo=None, x='-1')\n"
2657
+ "\n"
2658
+ ">>> # 没有负数选项,因此 -1 和 -5 是位置参数\n"
2659
+ ">>> parser.parse_args(['-x', '-1', '-5'])\n"
2660
+ "Namespace(foo='-5', x='-1')\n"
2661
+ "\n"
2662
+ ">>> parser = argparse.ArgumentParser(prog='PROG')\n"
2663
+ ">>> parser.add_argument('-1', dest='one')\n"
2664
+ ">>> parser.add_argument('foo', nargs='?')\n"
2665
+ "\n"
2666
+ ">>> # 有负数选项,因此 -1 是选项\n"
2667
+ ">>> parser.parse_args(['-1', 'X'])\n"
2668
+ "Namespace(foo=None, one='X')\n"
2669
+ "\n"
2670
+ ">>> # 有负数选项,因此 -2 是选项\n"
2671
+ ">>> parser.parse_args(['-2'])\n"
2672
+ "usage: PROG [-h] [-1 ONE] [foo]\n"
2673
+ "PROG: error: no such option: -2\n"
2674
+ "\n"
2675
+ ">>> # 有负数选项,因此两个 -1 都是选项\n"
2676
+ ">>> parser.parse_args(['-1', '-1'])\n"
2677
+ "usage: PROG [-h] [-1 ONE] [foo]\n"
2678
+ "PROG: error: argument -1: expected one argument"
2626
2679
2627
2680
#: ../../library/argparse.rst:1426
2628
2681
msgid ""
@@ -2901,6 +2954,24 @@ msgid ""
2901
2954
">>> parser.parse_args(['--foo', 'b', '--baz', 'Z'])\n"
2902
2955
"Namespace(baz='Z', foo=True)"
2903
2956
msgstr ""
2957
+ ">>> # 创建一个最高层级解析器\n"
2958
+ ">>> parser = argparse.ArgumentParser(prog='PROG')\n"
2959
+ ">>> parser.add_argument('--foo', action='store_true', help='foo help')\n"
2960
+ ">>> subparsers = parser.add_subparsers(help='subcommand help')\n"
2961
+ ">>>\n"
2962
+ ">>> # 创建一个针对 \" a\" 命令的解析器\n"
2963
+ ">>> parser_a = subparsers.add_parser('a', help='a help')\n"
2964
+ ">>> parser_a.add_argument('bar', type=int, help='bar help')\n"
2965
+ ">>>\n"
2966
+ ">>> # 创建一个针对 \" b\" 命令的解析器\n"
2967
+ ">>> parser_b = subparsers.add_parser('b', help='b help')\n"
2968
+ ">>> parser_b.add_argument('--baz', choices=('X', 'Y', 'Z'), help='baz help')\n"
2969
+ ">>>\n"
2970
+ ">>> # 解析一些参数列表\n"
2971
+ ">>> parser.parse_args(['a', '12'])\n"
2972
+ "Namespace(bar=12, foo=False)\n"
2973
+ ">>> parser.parse_args(['--foo', 'b', '--baz', 'Z'])\n"
2974
+ "Namespace(baz='Z', foo=True)"
2904
2975
2905
2976
#: ../../library/argparse.rst:1591
2906
2977
msgid ""
@@ -3099,6 +3170,37 @@ msgid ""
3099
3170
">>> args.func(args)\n"
3100
3171
"((XYZYX))"
3101
3172
msgstr ""
3173
+ ">>> # 子命令函数\n"
3174
+ ">>> def foo(args):\n"
3175
+ "... print(args.x * args.y)\n"
3176
+ "...\n"
3177
+ ">>> def bar(args):\n"
3178
+ "... print('((%s))' % args.z)\n"
3179
+ "...\n"
3180
+ ">>> # 创建最高层级解析器\n"
3181
+ ">>> parser = argparse.ArgumentParser()\n"
3182
+ ">>> subparsers = parser.add_subparsers(required=True)\n"
3183
+ ">>>\n"
3184
+ ">>> # 创建针对 \" foo\" 命令的解析器\n"
3185
+ ">>> parser_foo = subparsers.add_parser('foo')\n"
3186
+ ">>> parser_foo.add_argument('-x', type=int, default=1)\n"
3187
+ ">>> parser_foo.add_argument('y', type=float)\n"
3188
+ ">>> parser_foo.set_defaults(func=foo)\n"
3189
+ ">>>\n"
3190
+ ">>> # 创建针对 \" bar\" 命令的解析器\n"
3191
+ ">>> parser_bar = subparsers.add_parser('bar')\n"
3192
+ ">>> parser_bar.add_argument('z')\n"
3193
+ ">>> parser_bar.set_defaults(func=bar)\n"
3194
+ ">>>\n"
3195
+ ">>> # 解析参数并调用被选定的任何函数\n"
3196
+ ">>> args = parser.parse_args('foo 1 -x 2'.split())\n"
3197
+ ">>> args.func(args)\n"
3198
+ "2.0\n"
3199
+ ">>>\n"
3200
+ ">>> # 解析参数并调用被选定的任何函数\n"
3201
+ ">>> args = parser.parse_args('bar XYZYX'.split())\n"
3202
+ ">>> args.func(args)\n"
3203
+ "((XYZYX))"
3102
3204
3103
3205
#: ../../library/argparse.rst:1703
3104
3206
msgid ""
@@ -3755,7 +3857,7 @@ msgstr ""
3755
3857
#: ../../library/argparse.rst:2078
3756
3858
msgid ""
3757
3859
"The following example shows how to register a custom type with a parser::"
3758
- msgstr ""
3860
+ msgstr "下面的例子演示了如何注册一个带解析器的自定义类型:: "
3759
3861
3760
3862
#: ../../library/argparse.rst:2080
3761
3863
msgid ""
0 commit comments