New submission from jason gors <jason.g...@gmail.com>:
The syntax in the Command line documentation was unexpected regarding the `-m` option (specifically `python -mtimeit`) [0]. Showing this: ``` python -mtimeit "range(100)" # behaving equivalent to this: python -m timeit "range(100)" ``` This led me to discover many cases where command line arguments are like this in python (e.g. the call working correctly without a space between an argument flag and what is being passed into the command). Like this: ``` python -c"print('Hi')" # behaving the same as: python -c "print('Hi')" ``` This is also the case with pip as well: ``` pip install -rrequirements.txt # behaving exactly like: pip install -r requirements.txt ``` However, when I think of the *nix commands, like `rm`, this behavior fails. When you want to pass several flags at once, you can either list them separately (e.g. `rm -f -i myfile.py`) or concatenate them together (e.g. `rm -fi myfile.py`), but `rm` fails if you try calling it without a space between the argument(s) and the file to be removed (e.g.`rm -fimyfile.py`). I'm not sure whether this command line behavior in python is intentional, but it's not obvious as to why this is the case. [0] https://docs.python.org/3/using/cmdline.html#cmdoption-m ---------- components: Library (Lib) messages: 355985 nosy: jgors priority: normal severity: normal status: open title: Command line option with &/or without a space results in the same outcome type: behavior versions: Python 2.7, Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue38690> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com