#1772833: add -q command line option.

This commit is contained in:
Georg Brandl 2010-12-04 10:47:18 +00:00
parent cbd2ab1311
commit 9d8711964f
4 changed files with 27 additions and 3 deletions

View File

@ -220,6 +220,13 @@ Miscellaneous options
Discard docstrings in addition to the :option:`-O` optimizations.
.. cmdoption:: -q
Don't display the copyright and version messages even in interactive mode.
.. versionadded:: 3.2
.. cmdoption:: -s
Don't add user site directory to sys.path

View File

@ -10,6 +10,9 @@ What's New in Python 3.2 Beta 1?
Core and Builtins
-----------------
- Issue #1772833: Add the -q command-line option to suppress copyright
and version output in interactive mode.
- Provide an *optimize* parameter in the built-in compile() function.
- Fixed several corner case issues on os.stat/os.lstat related to reparse

View File

@ -26,6 +26,9 @@ python \- an interpreted, interactive, object-oriented programming language
.B \-m
.I module-name
]
[
.B \-q
]
.br
[
.B \-O
@ -145,6 +148,10 @@ to \fI.pyo\fP. Given twice, causes docstrings to be discarded.
.B \-O0
Discard docstrings in addition to the \fB-O\fP optimizations.
.TP
.B \-q
Do not print the version and copyright messages. These messages are
also suppressed in non-interactive mode.
.TP
.BI "\-Q " argument
Division control; see PEP 238. The argument must be one of "old" (the
default, int/int and long/long return an int or long), "new" (new

View File

@ -46,7 +46,7 @@ static wchar_t **orig_argv;
static int orig_argc;
/* command line options */
#define BASE_OPTS L"bBc:dEhiJm:OsStuvVW:xX:?"
#define BASE_OPTS L"bBc:dEhiJm:OqsStuvVW:xX:?"
#define PROGRAM_OPTS BASE_OPTS
@ -71,6 +71,7 @@ static char *usage_2 = "\
-m mod : run library module as a script (terminates option list)\n\
-O : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x\n\
-OO : remove doc-strings in addition to the -O optimizations\n\
-q : don't print version and copyright messages on interactive startup\n\
-s : don't add user site directory to sys.path; also PYTHONNOUSERSITE\n\
-S : don't imply 'import site' on initialization\n\
";
@ -318,6 +319,7 @@ Py_Main(int argc, wchar_t **argv)
int stdin_is_interactive = 0;
int help = 0;
int version = 0;
int quiet = 0;
int saw_unbuffered_flag = 0;
PyCompilerFlags cf;
@ -424,6 +426,10 @@ Py_Main(int argc, wchar_t **argv)
PySys_AddXOption(_PyOS_optarg);
break;
case 'q':
quiet++;
break;
/* This space reserved for other options */
default:
@ -588,8 +594,9 @@ Py_Main(int argc, wchar_t **argv)
#endif
Py_Initialize();
if (Py_VerboseFlag ||
(command == NULL && filename == NULL && module == NULL && stdin_is_interactive)) {
if (!quiet && (Py_VerboseFlag ||
(command == NULL && filename == NULL &&
module == NULL && stdin_is_interactive))) {
fprintf(stderr, "Python %s on %s\n",
Py_GetVersion(), Py_GetPlatform());
if (!Py_NoSiteFlag)