classification
Title: Description of -m and -c cli options wrong?
Type: Stage: resolved
Components: Documentation Versions: Python 3.2, Python 3.3, Python 2.7
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: docs@python Nosy List: docs@python, eric.snow, sandro.tosi
Priority: normal Keywords:

Created on 2012-01-07 15:36 by sandro.tosi, last changed 2012-01-13 18:27 by sandro.tosi. This issue is now closed.

Messages (3)
msg150802 - (view) Author: Sandro Tosi (sandro.tosi) * (Python committer) Date: 2012-01-07 15:36
Hi,
looking at http://mail.python.org/pipermail/docs/2011-December/006672.html I tried to replicate what the user said, and *it seems* that -c and -m doesn't add the current directory to the start of sys.path:

$ echo -e "import sys\nprint (sys.path)" > dummy.py ; ./python -mdummy
['', '/usr/local/lib/python27.zip', '/home/morph/cpython/py27/Lib', '/home/morph/cpython/py27/Lib/plat-linux2', '/home/morph/cpython/py27/Lib/lib-tk', '/home/morph/cpython/py27/Lib/lib-old', '/home/morph/cpython/py27/build/lib.linux-x86_64-2.7-pydebug', '/usr/local/lib/python2.7/site-packages']

and 

$ ./python -c "import dummy"
['', '/usr/local/lib/python27.zip', '/home/morph/cpython/py27/Lib', '/home/morph/cpython/py27/Lib/plat-linux2', '/home/morph/cpython/py27/Lib/lib-tk', '/home/morph/cpython/py27/Lib/lib-old', '/home/morph/cpython/py27/build/lib.linux-x86_64-2.7-pydebug', '/usr/local/lib/python2.7/site-packages']

the same sys.path as from the interactive shell:

$ ./python 
Python 2.7.2+ (2.7:f0666e56a552, Jan  7 2012, 16:31:06) 
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
[38650 refs]
>>> sys.path
['', '/usr/local/lib/python27.zip', '/home/morph/cpython/py27/Lib', '/home/morph/cpython/py27/Lib/plat-linux2', '/home/morph/cpython/py27/Lib/lib-tk', '/home/morph/cpython/py27/Lib/lib-old', '/home/morph/cpython/py27/build/lib.linux-x86_64-2.7-pydebug', '/usr/local/lib/python2.7/site-packages']
[38657 refs]

So, is http://docs.python.org/using/cmdline.html#interface-options correct in saying "he current directory will be added to the start of sys.path (allowing modules in that directory to be imported as top level modules)."? (and so forth for -m option?) am I confused?
msg150822 - (view) Author: Eric Snow (eric.snow) * (Python committer) Date: 2012-01-07 21:34
see http://docs.python.org/library/sys.html#sys.path

"As initialized upon program startup, the first item of this list, path[0], is the directory containing the script that was used to invoke the Python interpreter. If the script directory is not available (e.g. if the interpreter is invoked interactively or if the script is read from standard input), path[0] is the empty string, which directs Python to search modules in the current directory first."

So the empty string here is the current working directory (at the time the script is run?).
msg151186 - (view) Author: Sandro Tosi (sandro.tosi) * (Python committer) Date: 2012-01-13 18:27
Ah indeed, I could have looked at sys.path doc myself after all.. sorry for the noise.
History
Date User Action Args
2012-01-13 18:27:23sandro.tosisetstatus: open -> closed
resolution: not a bug
messages: + msg151186

stage: needs patch -> resolved
2012-01-07 21:34:38eric.snowsetnosy: + eric.snow
messages: + msg150822
2012-01-07 15:36:53sandro.tosicreate