-
-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathoptparse.po
More file actions
3783 lines (3251 loc) · 151 KB
/
Copy pathoptparse.po
File metadata and controls
3783 lines (3251 loc) · 151 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# python-doc bot, 2025
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.15\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-29 18:58+0000\n"
"PO-Revision-Date: 2025-09-16 00:01+0000\n"
"Last-Translator: python-doc bot, 2025\n"
"Language-Team: Japanese (https://app.transifex.com/python-doc/teams/5390/"
"ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../library/optparse.rst:2
msgid ":mod:`!optparse` --- Parser for command line options"
msgstr ""
#: ../../library/optparse.rst:7
msgid "**Source code:** :source:`Lib/optparse.py`"
msgstr "**ソースコード:** :source:`Lib/optparse.py`"
#: ../../library/optparse.rst:14
msgid "Choosing an argument parsing library"
msgstr ""
#: ../../library/optparse.rst:16
msgid "The standard library includes three argument parsing libraries:"
msgstr ""
#: ../../library/optparse.rst:18
msgid ""
":mod:`getopt`: a module that closely mirrors the procedural C ``getopt`` API."
msgstr ""
#: ../../library/optparse.rst:19
msgid ""
":mod:`!optparse`: a declarative replacement for ``getopt`` that provides "
"equivalent functionality without requiring each application to implement its "
"own procedural option parsing logic."
msgstr ""
#: ../../library/optparse.rst:22
msgid ""
":mod:`argparse`: a more opinionated alternative to ``optparse`` that "
"provides more functionality by default, at the expense of reduced "
"application flexibility in controlling exactly how arguments are processed."
msgstr ""
#: ../../library/optparse.rst:26
msgid ""
"In the absence of more specific argument parsing design constraints, :mod:"
"`argparse` is the recommended choice for implementing command line "
"applications, as it offers the highest level of baseline functionality with "
"the least application level code."
msgstr ""
#: ../../library/optparse.rst:30
msgid ""
":mod:`getopt` is retained almost entirely for backwards compatibility "
"reasons. However, it also serves a niche use case as a tool for prototyping "
"and testing command line argument handling in ``getopt``-based C "
"applications."
msgstr ""
#: ../../library/optparse.rst:34
msgid ""
":mod:`!optparse` should be considered as an alternative to :mod:`argparse` "
"in the following cases:"
msgstr ""
#: ../../library/optparse.rst:37
msgid ""
"an application is already using :mod:`!optparse` and doesn't want to risk "
"the subtle behavioural changes that may arise when migrating to :mod:"
"`argparse`"
msgstr ""
#: ../../library/optparse.rst:39
msgid ""
"the application requires additional control over the way options and "
"positional parameters are interleaved on the command line (including the "
"ability to disable the interleaving feature completely)"
msgstr ""
#: ../../library/optparse.rst:42
msgid ""
"the application requires additional control over the incremental parsing of "
"command line elements (while ``argparse`` does support this, the exact way "
"it works in practice is undesirable for some use cases)"
msgstr ""
#: ../../library/optparse.rst:45
msgid ""
"the application requires additional control over the handling of options "
"which accept parameter values that may start with ``-`` (such as delegated "
"options to be passed to invoked subprocesses)"
msgstr ""
#: ../../library/optparse.rst:48
msgid ""
"the application requires some other command line parameter processing "
"behavior which ``argparse`` does not support, but which can be implemented "
"in terms of the lower level interface offered by ``optparse``"
msgstr ""
#: ../../library/optparse.rst:52
msgid ""
"These considerations also mean that :mod:`!optparse` is likely to provide a "
"better foundation for library authors writing third party command line "
"argument processing libraries."
msgstr ""
#: ../../library/optparse.rst:56
msgid ""
"As a concrete example, consider the following two command line argument "
"parsing configurations, the first using ``optparse``, and the second using "
"``argparse``:"
msgstr ""
#: ../../library/optparse.rst:60
msgid ""
"import optparse\n"
"\n"
"if __name__ == '__main__':\n"
" parser = optparse.OptionParser()\n"
" parser.add_option('-o', '--output')\n"
" parser.add_option('-v', dest='verbose', action='store_true')\n"
" opts, args = parser.parse_args()\n"
" process(args, output=opts.output, verbose=opts.verbose)"
msgstr ""
#: ../../library/optparse.rst:71
msgid ""
"import argparse\n"
"\n"
"if __name__ == '__main__':\n"
" parser = argparse.ArgumentParser()\n"
" parser.add_argument('-o', '--output')\n"
" parser.add_argument('-v', dest='verbose', action='store_true')\n"
" parser.add_argument('rest', nargs='*')\n"
" args = parser.parse_args()\n"
" process(args.rest, output=args.output, verbose=args.verbose)"
msgstr ""
#: ../../library/optparse.rst:83
msgid ""
"The most obvious difference is that in the ``optparse`` version, the non-"
"option arguments are processed separately by the application after the "
"option processing is complete. In the ``argparse`` version, positional "
"arguments are declared and processed in the same way as the named options."
msgstr ""
#: ../../library/optparse.rst:88
msgid ""
"However, the ``argparse`` version will also handle some parameter "
"combination differently from the way the ``optparse`` version would handle "
"them. For example (amongst other differences):"
msgstr ""
#: ../../library/optparse.rst:92
msgid ""
"supplying ``-o -v`` gives ``output=\"-v\"`` and ``verbose=False`` when using "
"``optparse``, but a usage error with ``argparse`` (complaining that no value "
"has been supplied for ``-o/--output``, since ``-v`` is interpreted as "
"meaning the verbosity flag)"
msgstr ""
#: ../../library/optparse.rst:96
msgid ""
"similarly, supplying ``-o --`` gives ``output=\"--\"`` and ``args=()`` when "
"using ``optparse``, but a usage error with ``argparse`` (also complaining "
"that no value has been supplied for ``-o/--output``, since ``--`` is "
"interpreted as terminating the option processing and treating all remaining "
"values as positional arguments)"
msgstr ""
#: ../../library/optparse.rst:101
msgid ""
"supplying ``-o=foo`` gives ``output=\"=foo\"`` when using ``optparse``, but "
"gives ``output=\"foo\"`` with ``argparse`` (since ``=`` is special cased as "
"an alternative separator for option parameter values)"
msgstr ""
#: ../../library/optparse.rst:105
msgid ""
"Whether these differing behaviors in the ``argparse`` version are considered "
"desirable or a problem will depend on the specific command line application "
"use case."
msgstr ""
#: ../../library/optparse.rst:111
msgid ""
":pypi:`click` is a third party argument processing library (originally based "
"on ``optparse``), which allows command line applications to be developed as "
"a set of decorated command implementation functions."
msgstr ""
#: ../../library/optparse.rst:115
msgid ""
"Other third party libraries, such as :pypi:`typer` or :pypi:`msgspec-click`, "
"allow command line interfaces to be specified in ways that more effectively "
"integrate with static checking of Python type annotations."
msgstr ""
#: ../../library/optparse.rst:121
msgid "Introduction"
msgstr "はじめに"
#: ../../library/optparse.rst:123
msgid ""
":mod:`!optparse` is a more convenient, flexible, and powerful library for "
"parsing command-line options than the minimalist :mod:`getopt` module. :mod:"
"`!optparse` uses a more declarative style of command-line parsing: you "
"create an instance of :class:`OptionParser`, populate it with options, and "
"parse the command line. :mod:`!optparse` allows users to specify options in "
"the conventional GNU/POSIX syntax, and additionally generates usage and help "
"messages for you."
msgstr ""
#: ../../library/optparse.rst:131
msgid "Here's an example of using :mod:`!optparse` in a simple script::"
msgstr ""
#: ../../library/optparse.rst:133
msgid ""
"from optparse import OptionParser\n"
"...\n"
"parser = OptionParser()\n"
"parser.add_option(\"-f\", \"--file\", dest=\"filename\",\n"
" help=\"write report to FILE\", metavar=\"FILE\")\n"
"parser.add_option(\"-q\", \"--quiet\",\n"
" action=\"store_false\", dest=\"verbose\", default=True,\n"
" help=\"don't print status messages to stdout\")\n"
"\n"
"(options, args) = parser.parse_args()"
msgstr ""
#: ../../library/optparse.rst:144
msgid ""
"With these few lines of code, users of your script can now do the \"usual "
"thing\" on the command-line, for example::"
msgstr ""
"このようにわずかな行数のコードによって、スクリプトのユーザはコマンドライン上"
"で例えば以下のような「よくある使い方」を実行できるようになります::"
#: ../../library/optparse.rst:147
msgid "<yourscript> --file=outfile -q"
msgstr ""
#: ../../library/optparse.rst:149
msgid ""
"As it parses the command line, :mod:`!optparse` sets attributes of the "
"``options`` object returned by :meth:`~OptionParser.parse_args` based on "
"user-supplied command-line values. When :meth:`~OptionParser.parse_args` "
"returns from parsing this command line, ``options.filename`` will be "
"``\"outfile\"`` and ``options.verbose`` will be ``False``. :mod:`!optparse` "
"supports both long and short options, allows short options to be merged "
"together, and allows options to be associated with their arguments in a "
"variety of ways. Thus, the following command lines are all equivalent to "
"the above example::"
msgstr ""
#: ../../library/optparse.rst:158
msgid ""
"<yourscript> -f outfile --quiet\n"
"<yourscript> --quiet --file outfile\n"
"<yourscript> -q -foutfile\n"
"<yourscript> -qfoutfile"
msgstr ""
#: ../../library/optparse.rst:163
msgid "Additionally, users can run one of the following ::"
msgstr "さらに、ユーザが以下のいずれかを実行すると ::"
#: ../../library/optparse.rst:165
msgid ""
"<yourscript> -h\n"
"<yourscript> --help"
msgstr ""
#: ../../library/optparse.rst:168
msgid ""
"and :mod:`!optparse` will print out a brief summary of your script's options:"
msgstr ""
#: ../../library/optparse.rst:170
msgid ""
"Usage: <yourscript> [options]\n"
"\n"
"Options:\n"
" -h, --help show this help message and exit\n"
" -f FILE, --file=FILE write report to FILE\n"
" -q, --quiet don't print status messages to stdout"
msgstr ""
#: ../../library/optparse.rst:179
msgid ""
"where the value of *yourscript* is determined at runtime (normally from "
"``sys.argv[0]``)."
msgstr ""
"*yourscript* の中身は実行時に決まります (通常は ``sys.argv[0]`` になります)。"
#: ../../library/optparse.rst:186
msgid "Background"
msgstr "背景"
#: ../../library/optparse.rst:188
msgid ""
":mod:`!optparse` was explicitly designed to encourage the creation of "
"programs with straightforward command-line interfaces that follow the "
"conventions established by the :c:func:`!getopt` family of functions "
"available to C developers. To that end, it supports only the most common "
"command-line syntax and semantics conventionally used under Unix. If you "
"are unfamiliar with these conventions, reading this section will allow you "
"to acquaint yourself with them."
msgstr ""
#: ../../library/optparse.rst:199
msgid "Terminology"
msgstr "用語集"
#: ../../library/optparse.rst:201
msgid "argument"
msgstr "引数 (argument)"
#: ../../library/optparse.rst:202
msgid ""
"a string entered on the command-line, and passed by the shell to ``execl()`` "
"or ``execv()``. In Python, arguments are elements of ``sys.argv[1:]`` "
"(``sys.argv[0]`` is the name of the program being executed). Unix shells "
"also use the term \"word\"."
msgstr ""
"コマンドラインでユーザが入力するテキストの塊で、シェルが ``execl`` や "
"``execv`` に引き渡すものです。Python では、引数は ``sys.argv[1:]`` の要素とな"
"ります。(``sys.argv[0]`` は実行しようとしているプログラムの名前です。引数解析"
"に関しては、この要素はあまり重要ではありません。) Unix シェルでは、「語 "
"(word)」という用語も使います。"
#: ../../library/optparse.rst:207
msgid ""
"It is occasionally desirable to substitute an argument list other than ``sys."
"argv[1:]``, so you should read \"argument\" as \"an element of ``sys."
"argv[1:]``, or of some other list provided as a substitute for ``sys."
"argv[1:]``\"."
msgstr ""
"場合によっては ``sys.argv[1:]`` 以外の引数リストを代入する方が望ましいことが"
"あるので、「引数」は「 ``sys.argv[1:]`` または ``sys.argv[1:]`` の代替として"
"提供される別のリストの要素」と読むべきでしょう。"
#: ../../library/optparse.rst:212
msgid "option"
msgstr "オプション (option)"
#: ../../library/optparse.rst:213
msgid ""
"an argument used to supply extra information to guide or customize the "
"execution of a program. There are many different syntaxes for options; the "
"traditional Unix syntax is a hyphen (\"-\") followed by a single letter, e."
"g. ``-x`` or ``-F``. Also, traditional Unix syntax allows multiple options "
"to be merged into a single argument, e.g. ``-x -F`` is equivalent to ``-"
"xF``. The GNU project introduced ``--`` followed by a series of hyphen-"
"separated words, e.g. ``--file`` or ``--dry-run``. These are the only two "
"option syntaxes provided by :mod:`!optparse`."
msgstr ""
#: ../../library/optparse.rst:222
msgid "Some other option syntaxes that the world has seen include:"
msgstr "他に見られる他のオプション書法には以下のようなものがあります:"
#: ../../library/optparse.rst:224
msgid ""
"a hyphen followed by a few letters, e.g. ``-pf`` (this is *not* the same as "
"multiple options merged into a single argument)"
msgstr ""
"ハイフンの後ろに数個の文字が続くもので、例えば ``-pf`` (このオプションは複数"
"のオプションを一つにまとめたものとは *違います*)"
#: ../../library/optparse.rst:227
msgid ""
"a hyphen followed by a whole word, e.g. ``-file`` (this is technically "
"equivalent to the previous syntax, but they aren't usually seen in the same "
"program)"
msgstr ""
"ハイフンの後ろに語が続くもので、例えば ``-file`` (これは技術的には上の書式と"
"同じですが、通常同じプログラム上で一緒に使うことはありません)"
#: ../../library/optparse.rst:231
msgid ""
"a plus sign followed by a single letter, or a few letters, or a word, e.g. "
"``+f``, ``+rgb``"
msgstr ""
"プラス記号の後ろに一文字、数個の文字、または語を続けたもので、例えば ``+f``, "
"``+rgb``"
#: ../../library/optparse.rst:234
msgid ""
"a slash followed by a letter, or a few letters, or a word, e.g. ``/f``, ``/"
"file``"
msgstr ""
"スラッシュ記号の後ろに一文字、数個の文字、または語を続けたもので、例えば ``/"
"f``, ``/file``"
#: ../../library/optparse.rst:237
msgid ""
"These option syntaxes are not supported by :mod:`!optparse`, and they never "
"will be. This is deliberate: the first three are non-standard on any "
"environment, and the last only makes sense if you're exclusively targeting "
"Windows or certain legacy platforms (e.g. VMS, MS-DOS)."
msgstr ""
#: ../../library/optparse.rst:242
msgid "option argument"
msgstr "オプション引数 (option argument)"
#: ../../library/optparse.rst:243
msgid ""
"an argument that follows an option, is closely associated with that option, "
"and is consumed from the argument list when that option is. With :mod:`!"
"optparse`, option arguments may either be in a separate argument from their "
"option:"
msgstr ""
#: ../../library/optparse.rst:248
msgid ""
"-f foo\n"
"--file foo"
msgstr ""
#: ../../library/optparse.rst:253
msgid "or included in the same argument:"
msgstr "また、一つの引数中にも入れられます:"
#: ../../library/optparse.rst:255
msgid ""
"-ffoo\n"
"--file=foo"
msgstr ""
#: ../../library/optparse.rst:260
msgid ""
"Typically, a given option either takes an argument or it doesn't. Lots of "
"people want an \"optional option arguments\" feature, meaning that some "
"options will take an argument if they see it, and won't if they don't. This "
"is somewhat controversial, because it makes parsing ambiguous: if ``-a`` "
"takes an optional argument and ``-b`` is another option entirely, how do we "
"interpret ``-ab``? Because of this ambiguity, :mod:`!optparse` does not "
"support this feature."
msgstr ""
#: ../../library/optparse.rst:268
msgid "positional argument"
msgstr "位置引数 (positional argument)"
#: ../../library/optparse.rst:269
msgid ""
"something leftover in the argument list after options have been parsed, i.e. "
"after options and their arguments have been parsed and removed from the "
"argument list."
msgstr ""
"他のオプションが解析される、すなわち他のオプションとその引数が解析されて引数"
"リストから除去された後に引数リストに置かれているものです。"
#: ../../library/optparse.rst:273
msgid "required option"
msgstr "必須のオプション (required option)"
#: ../../library/optparse.rst:274
msgid ""
"an option that must be supplied on the command-line; note that the phrase "
"\"required option\" is self-contradictory in English. :mod:`!optparse` "
"doesn't prevent you from implementing required options, but doesn't give you "
"much help at it either."
msgstr ""
#: ../../library/optparse.rst:279
msgid "For example, consider this hypothetical command-line::"
msgstr "例えば、下記のような架空のコマンドラインを考えてみましょう::"
#: ../../library/optparse.rst:281
msgid "prog -v --report report.txt foo bar"
msgstr ""
#: ../../library/optparse.rst:283
msgid ""
"``-v`` and ``--report`` are both options. Assuming that ``--report`` takes "
"one argument, ``report.txt`` is an option argument. ``foo`` and ``bar`` are "
"positional arguments."
msgstr ""
"``-v`` と ``--report`` はどちらもオプションです。``--report`` オプションが引"
"数をとるとすれば、``report.txt`` はオプションの引数です。``foo`` と ``bar`` "
"は位置引数になります。"
#: ../../library/optparse.rst:291
msgid "What are options for?"
msgstr "オプションとは何か"
#: ../../library/optparse.rst:293
msgid ""
"Options are used to provide extra information to tune or customize the "
"execution of a program. In case it wasn't clear, options are usually "
"*optional*. A program should be able to run just fine with no options "
"whatsoever. (Pick a random program from the Unix or GNU toolsets. Can it "
"run without any options at all and still make sense? The main exceptions "
"are ``find``, ``tar``, and ``dd``\\ ---all of which are mutant oddballs that "
"have been rightly criticized for their non-standard syntax and confusing "
"interfaces.)"
msgstr ""
"オプションはプログラムの実行を調整したり、カスタマイズしたりするための補助的"
"な情報を与えるために使います。もっとはっきりいうと、オプションはあくまでもオ"
"プション (省略可能)であるということです。本来、プログラムはともかくもオプショ"
"ンなしでうまく実行できてしかるべきです。(Unix やGNU ツールセットのプログラム"
"をランダムにピックアップしてみてください。オプションを全く指定しなくてもちゃ"
"んと動くでしょう?例外は ``find``, ``tar``, ``dd`` くらいです---これらの例外"
"は、オプション文法が標準的でなく、インターフェースが混乱を招くと酷評されてき"
"た変種のはみ出しものなのです)"
#: ../../library/optparse.rst:301
msgid ""
"Lots of people want their programs to have \"required options\". Think "
"about it. If it's required, then it's *not optional*! If there is a piece "
"of information that your program absolutely requires in order to run "
"successfully, that's what positional arguments are for."
msgstr ""
"多くの人が自分のプログラムに「必須のオプション」を持たせたいと考えます。しか"
"しよく考えてください。必須なら、それは *オプション(省略可能) ではないのです!"
"* プログラムを正しく動作させるのに絶対的に必要な情報があるとすれば、そこには"
"位置引数を割り当てるべきなのです。"
#: ../../library/optparse.rst:306
msgid ""
"As an example of good command-line interface design, consider the humble "
"``cp`` utility, for copying files. It doesn't make much sense to try to "
"copy files without supplying a destination and at least one source. Hence, "
"``cp`` fails if you run it with no arguments. However, it has a flexible, "
"useful syntax that does not require any options at all::"
msgstr ""
"良くできたコマンドライン インターフェース設計として、ファイルのコピーに使われ"
"る ``cp`` ユーティリティのことを考えてみましょう。ファイルのコピーでは、コ"
"ピー先を指定せずにファイルをコピーするのは無意味な操作ですし、少なくとも一つ"
"のコピー元が必要です。従って、``cp`` は引数無しで実行すると失敗します。とはい"
"え、``cp`` はオプションを全く必要としない柔軟で便利なコマンドライン文法を備え"
"ています::"
#: ../../library/optparse.rst:312
msgid ""
"cp SOURCE DEST\n"
"cp SOURCE ... DEST-DIR"
msgstr ""
#: ../../library/optparse.rst:315
msgid ""
"You can get pretty far with just that. Most ``cp`` implementations provide "
"a bunch of options to tweak exactly how the files are copied: you can "
"preserve mode and modification time, avoid following symlinks, ask before "
"clobbering existing files, etc. But none of this distracts from the core "
"mission of ``cp``, which is to copy either one file to another, or several "
"files to another directory."
msgstr ""
"まだあります。ほとんどの ``cp`` の実装では、ファイルモードや変更時刻を変えず"
"にコピーする、シンボリックリンクの追跡を行わない、すでにあるファイルを上書き"
"する前にユーザに尋ねる、など、ファイルをコピーする方法をいじるための一連のオ"
"プションを実装しています。しかし、こうしたオプションは、一つのファイルを別の"
"場所にコピーする、または複数のファイルを別のディレクトリにコピーするという、"
"``cp`` の中心的な処理を乱すことはないのです。"
#: ../../library/optparse.rst:326
msgid "What are positional arguments for?"
msgstr "位置引数とは何か"
#: ../../library/optparse.rst:328
msgid ""
"Positional arguments are for those pieces of information that your program "
"absolutely, positively requires to run."
msgstr ""
"位置引数とは、プログラムを動作させる上で絶対的に必要な情報となる引数です。"
#: ../../library/optparse.rst:331
msgid ""
"A good user interface should have as few absolute requirements as possible. "
"If your program requires 17 distinct pieces of information in order to run "
"successfully, it doesn't much matter *how* you get that information from the "
"user---most people will give up and walk away before they successfully run "
"the program. This applies whether the user interface is a command-line, a "
"configuration file, or a GUI: if you make that many demands on your users, "
"most of them will simply give up."
msgstr ""
"よいユーザインターフェースとは、絶対に必要だとされるものが可能な限り少ないも"
"のです。プログラムを正しく動作させるために 17 個もの別個の情報が必要だとした"
"ら、その *方法* はさして問題にはなりません ---ユーザはプログラムを正しく動作"
"させられないうちに諦め、立ち去ってしまうからです。ユーザインターフェースがコ"
"マンドラインでも、設定ファイルでも、GUI やその他の何であっても同じです: 多く"
"の要求をユーザに押し付ければ、ほとんどのユーザはただ音をあげてしまうだけなの"
"です。"
#: ../../library/optparse.rst:339
msgid ""
"In short, try to minimize the amount of information that users are "
"absolutely required to supply---use sensible defaults whenever possible. Of "
"course, you also want to make your programs reasonably flexible. That's "
"what options are for. Again, it doesn't matter if they are entries in a "
"config file, widgets in the \"Preferences\" dialog of a GUI, or command-line "
"options---the more options you implement, the more flexible your program is, "
"and the more complicated its implementation becomes. Too much flexibility "
"has drawbacks as well, of course; too many options can overwhelm users and "
"make your code much harder to maintain."
msgstr ""
"要するに、ユーザが絶対に提供しなければならない情報だけに制限する --- そして可"
"能な限りよく練られたデフォルト設定を使うよう試みてください。もちろん、プログ"
"ラムには適度な柔軟性を持たせたいとも望むはずですが、それこそがオプションの果"
"たす役割です。繰り返しますが、設定ファイルのエントリであろうが、GUI でできた"
"「環境設定」ダイアログ上のウィジェットであろうが、コマンドラインオプションで"
"あろうが関係ありません --- より多くのオプションを実装すればプログラムはより柔"
"軟性を持ちますが、実装はより難解になるのです。高すぎる柔軟性はユーザを閉口さ"
"せ、コードの維持をより難しくするのです。"
#: ../../library/optparse.rst:352
msgid "Tutorial"
msgstr "チュートリアル"
#: ../../library/optparse.rst:354
msgid ""
"While :mod:`!optparse` is quite flexible and powerful, it's also "
"straightforward to use in most cases. This section covers the code patterns "
"that are common to any :mod:`!optparse`\\ -based program."
msgstr ""
#: ../../library/optparse.rst:358
msgid ""
"First, you need to import the OptionParser class; then, early in the main "
"program, create an OptionParser instance::"
msgstr ""
"まず、:class:`OptionParser` クラスを import しておかなければなりません。次"
"に、プログラムの冒頭で :class:`OptionParser` インスタンスを生成しておきます::"
#: ../../library/optparse.rst:361
msgid ""
"from optparse import OptionParser\n"
"...\n"
"parser = OptionParser()"
msgstr ""
#: ../../library/optparse.rst:365
msgid "Then you can start defining options. The basic syntax is::"
msgstr ""
"これでオプションを定義できるようになりました。基本的な構文は以下の通りです::"
#: ../../library/optparse.rst:367
msgid ""
"parser.add_option(opt_str, ...,\n"
" attr=value, ...)"
msgstr ""
#: ../../library/optparse.rst:370
msgid ""
"Each option has one or more option strings, such as ``-f`` or ``--file``, "
"and several option attributes that tell :mod:`!optparse` what to expect and "
"what to do when it encounters that option on the command line."
msgstr ""
#: ../../library/optparse.rst:374
msgid ""
"Typically, each option will have one short option string and one long option "
"string, e.g.::"
msgstr ""
"通常、各オプションには短いオプション文字列と長いオプション文字列があります。"
"例えば::"
#: ../../library/optparse.rst:377
msgid "parser.add_option(\"-f\", \"--file\", ...)"
msgstr ""
#: ../../library/optparse.rst:379
msgid ""
"You're free to define as many short option strings and as many long option "
"strings as you like (including zero), as long as there is at least one "
"option string overall."
msgstr ""
"オプション文字列は、(ゼロ文字の場合も含め)いくらでも短く、またいくらでも長く"
"できます。ただしオプション文字列は少なくとも一つなければなりません。"
#: ../../library/optparse.rst:383
msgid ""
"The option strings passed to :meth:`OptionParser.add_option` are effectively "
"labels for the option defined by that call. For brevity, we will frequently "
"refer to *encountering an option* on the command line; in reality, :mod:`!"
"optparse` encounters *option strings* and looks up options from them."
msgstr ""
#: ../../library/optparse.rst:389
msgid ""
"Once all of your options are defined, instruct :mod:`!optparse` to parse "
"your program's command line::"
msgstr ""
#: ../../library/optparse.rst:392
msgid "(options, args) = parser.parse_args()"
msgstr ""
#: ../../library/optparse.rst:394
msgid ""
"(If you like, you can pass a custom argument list to :meth:`~OptionParser."
"parse_args`, but that's rarely necessary: by default it uses ``sys."
"argv[1:]``.)"
msgstr ""
"(お望みなら、 :meth:`~OptionParser.parse_args` に自作の引数リストを渡してもか"
"まいません。とはいえ、実際にはそうした必要はほとんどないでしょう: :mod:"
"`optionparser` はデフォルトで ``sys.argv[1:]`` を使うからです。)"
#: ../../library/optparse.rst:397
msgid ":meth:`~OptionParser.parse_args` returns two values:"
msgstr ":meth:`~OptionParser.parse_args` は二つの値を返します:"
#: ../../library/optparse.rst:399
msgid ""
"``options``, an object containing values for all of your options---e.g. if "
"``--file`` takes a single string argument, then ``options.file`` will be the "
"filename supplied by the user, or ``None`` if the user did not supply that "
"option"
msgstr ""
"全てのオプションに対する値の入ったオブジェクト ``options`` --- 例えば、``--"
"file`` が単一の文字列引数をとる場合、``options.file`` はユーザが指定したファ"
"イル名になります。オプションを指定しなかった場合には ``None`` になります"
#: ../../library/optparse.rst:404
msgid ""
"``args``, the list of positional arguments leftover after parsing options"
msgstr "オプションの解析後に残った位置引数からなるリスト ``args``"
#: ../../library/optparse.rst:406
msgid ""
"This tutorial section only covers the four most important option "
"attributes: :attr:`~Option.action`, :attr:`~Option.type`, :attr:`~Option."
"dest` (destination), and :attr:`~Option.help`. Of these, :attr:`~Option."
"action` is the most fundamental."
msgstr ""
"このチュートリアルの節では、最も重要な四つのオプション属性: :attr:`~Option."
"action`, :attr:`~Option.type`, :attr:`~Option.dest` (destination), :attr:"
"`~Option.help` についてしか触れません。このうち最も重要なのは :attr:`~Option."
"action` です。"
#: ../../library/optparse.rst:415
msgid "Understanding option actions"
msgstr "オプション・アクションを理解する"
#: ../../library/optparse.rst:417
msgid ""
"Actions tell :mod:`!optparse` what to do when it encounters an option on the "
"command line. There is a fixed set of actions hard-coded into :mod:`!"
"optparse`; adding new actions is an advanced topic covered in section :ref:"
"`optparse-extending-optparse`. Most actions tell :mod:`!optparse` to store "
"a value in some variable---for example, take a string from the command line "
"and store it in an attribute of ``options``."
msgstr ""
#: ../../library/optparse.rst:424
msgid ""
"If you don't specify an option action, :mod:`!optparse` defaults to "
"``store``."
msgstr ""
#: ../../library/optparse.rst:430
msgid "The store action"
msgstr "store アクション"
#: ../../library/optparse.rst:432
msgid ""
"The most common option action is ``store``, which tells :mod:`!optparse` to "
"take the next argument (or the remainder of the current argument), ensure "
"that it is of the correct type, and store it to your chosen destination."
msgstr ""
#: ../../library/optparse.rst:436
msgid "For example::"
msgstr "例えば::"
#: ../../library/optparse.rst:438
msgid ""
"parser.add_option(\"-f\", \"--file\",\n"
" action=\"store\", type=\"string\", dest=\"filename\")"
msgstr ""
#: ../../library/optparse.rst:441
msgid ""
"Now let's make up a fake command line and ask :mod:`!optparse` to parse it::"
msgstr ""
#: ../../library/optparse.rst:443
msgid ""
"args = [\"-f\", \"foo.txt\"]\n"
"(options, args) = parser.parse_args(args)"
msgstr ""
#: ../../library/optparse.rst:446
msgid ""
"When :mod:`!optparse` sees the option string ``-f``, it consumes the next "
"argument, ``foo.txt``, and stores it in ``options.filename``. So, after "
"this call to :meth:`~OptionParser.parse_args`, ``options.filename`` is "
"``\"foo.txt\"``."
msgstr ""
#: ../../library/optparse.rst:450
msgid ""
"Some other option types supported by :mod:`!optparse` are ``int`` and "
"``float``. Here's an option that expects an integer argument::"
msgstr ""
#: ../../library/optparse.rst:453
msgid "parser.add_option(\"-n\", type=\"int\", dest=\"num\")"
msgstr ""
#: ../../library/optparse.rst:455
msgid ""
"Note that this option has no long option string, which is perfectly "
"acceptable. Also, there's no explicit action, since the default is ``store``."
msgstr ""
"このオプションには長い形式のオプション文字列がないため、設定に問題がないとい"
"うことに注意してください。また、デフォルトのアクションは ``store`` なので、こ"
"こでは action を明示的に指定していません。"
#: ../../library/optparse.rst:458
msgid ""
"Let's parse another fake command-line. This time, we'll jam the option "
"argument right up against the option: since ``-n42`` (one argument) is "
"equivalent to ``-n 42`` (two arguments), the code ::"
msgstr ""
"架空のコマンドラインをもう一つ解析してみましょう。今度は、オプション引数をオ"
"プションの右側にぴったりくっつけて一緒くたにします: ``-n42`` (一つの引数の"
"み) は ``-n 42`` (二つの引数からなる) と等価になるので ::"
#: ../../library/optparse.rst:462
msgid ""
"(options, args) = parser.parse_args([\"-n42\"])\n"
"print(options.num)"
msgstr ""
#: ../../library/optparse.rst:465
msgid "will print ``42``."
msgstr "は ``42`` を出力します。"
#: ../../library/optparse.rst:467
msgid ""
"If you don't specify a type, :mod:`!optparse` assumes ``string``. Combined "
"with the fact that the default action is ``store``, that means our first "
"example can be a lot shorter::"
msgstr ""
#: ../../library/optparse.rst:471
msgid "parser.add_option(\"-f\", \"--file\", dest=\"filename\")"
msgstr ""
#: ../../library/optparse.rst:473
msgid ""
"If you don't supply a destination, :mod:`!optparse` figures out a sensible "
"default from the option strings: if the first long option string is ``--foo-"
"bar``, then the default destination is ``foo_bar``. If there are no long "
"option strings, :mod:`!optparse` looks at the first short option string: the "
"default destination for ``-f`` is ``f``."
msgstr ""
#: ../../library/optparse.rst:479
msgid ""
":mod:`!optparse` also includes the built-in ``complex`` type. Adding types "
"is covered in section :ref:`optparse-extending-optparse`."
msgstr ""
#: ../../library/optparse.rst:486
msgid "Handling boolean (flag) options"
msgstr "ブール値 (フラグ) オプションの処理"
#: ../../library/optparse.rst:488
msgid ""
"Flag options---set a variable to true or false when a particular option is "
"seen---are quite common. :mod:`!optparse` supports them with two separate "
"actions, ``store_true`` and ``store_false``. For example, you might have a "
"``verbose`` flag that is turned on with ``-v`` and off with ``-q``::"
msgstr ""
#: ../../library/optparse.rst:493
msgid ""
"parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\")\n"
"parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\")"
msgstr ""
#: ../../library/optparse.rst:496
msgid ""
"Here we have two different options with the same destination, which is "
"perfectly OK. (It just means you have to be a bit careful when setting "
"default values---see below.)"
msgstr ""
"ここでは二つのオプションに同じ保存先を指定していますが、全く問題ありません。"
"(下記のように、デフォルト値の設定を少し注意深く行わなければならないだけで"
"す。)"
#: ../../library/optparse.rst:500
msgid ""
"When :mod:`!optparse` encounters ``-v`` on the command line, it sets "
"``options.verbose`` to ``True``; when it encounters ``-q``, ``options."
"verbose`` is set to ``False``."
msgstr ""
#: ../../library/optparse.rst:508
msgid "Other actions"
msgstr "その他のアクション"
#: ../../library/optparse.rst:510
msgid "Some other actions supported by :mod:`!optparse` are:"
msgstr ""
#: ../../library/optparse.rst:512 ../../library/optparse.rst:1034
msgid "``\"store_const\"``"
msgstr "``\"store_const\"``"
#: ../../library/optparse.rst:513 ../../library/optparse.rst:1035
msgid "store a constant value, pre-set via :attr:`Option.const`"
msgstr ""
#: ../../library/optparse.rst:515 ../../library/optparse.rst:1043
msgid "``\"append\"``"
msgstr "``\"append\"``"
#: ../../library/optparse.rst:516 ../../library/optparse.rst:1044
msgid "append this option's argument to a list"
msgstr "オプションの引数を指定のリストに追加します"
#: ../../library/optparse.rst:518 ../../library/optparse.rst:1049
msgid "``\"count\"``"
msgstr "``\"count\"``"
#: ../../library/optparse.rst:519 ../../library/optparse.rst:1050
msgid "increment a counter by one"
msgstr "指定のカウンタを 1 増やします"
#: ../../library/optparse.rst:521 ../../library/optparse.rst:1052
msgid "``\"callback\"``"
msgstr "``\"callback\"``"
#: ../../library/optparse.rst:522 ../../library/optparse.rst:1053
msgid "call a specified function"
msgstr "指定の関数を呼び出します"
#: ../../library/optparse.rst:524
msgid ""
"These are covered in section :ref:`optparse-reference-guide`, and section :"
"ref:`optparse-option-callbacks`."
msgstr ""
"これらのアクションについては、 :ref:`optparse-reference-guide` 節および :ref:"
"`optparse-option-callbacks` 節で触れます。"
#: ../../library/optparse.rst:531
msgid "Default values"
msgstr "デフォルト値"
#: ../../library/optparse.rst:533
msgid ""
"All of the above examples involve setting some variable (the "
"\"destination\") when certain command-line options are seen. What happens "
"if those options are never seen? Since we didn't supply any defaults, they "
"are all set to ``None``. This is usually fine, but sometimes you want more "
"control. :mod:`!optparse` lets you supply a default value for each "
"destination, which is assigned before the command line is parsed."
msgstr ""
#: ../../library/optparse.rst:540
msgid ""
"First, consider the verbose/quiet example. If we want :mod:`!optparse` to "
"set ``verbose`` to ``True`` unless ``-q`` is seen, then we can do this::"
msgstr ""
#: ../../library/optparse.rst:543
msgid ""
"parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\", "
"default=True)\n"
"parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\")"
msgstr ""
#: ../../library/optparse.rst:546
msgid ""
"Since default values apply to the *destination* rather than to any "
"particular option, and these two options happen to have the same "
"destination, this is exactly equivalent::"
msgstr ""
"デフォルトの値は特定のオプションではなく *保存先* に対して適用されます。ま"
"た、これら二つのオプションはたまたま同じ保存先を持っているにすぎないため、上"
"のコードは下のコードと全く等価になります::"
#: ../../library/optparse.rst:550
msgid ""
"parser.add_option(\"-v\", action=\"store_true\", dest=\"verbose\")\n"
"parser.add_option(\"-q\", action=\"store_false\", dest=\"verbose\", "