I have two computers with Windows, and I just found that on one of them, if I ran python code directly, like:
test_args.py input1 input2
Python will not recognized the input I gave, but this works:
python test_args.py input1 input2
I tried the code:
import sys
print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
And the first way(test_args.py input1 input2) returns:
Number of arguments: 1 arguments.
Argument List: ['D:\\Test\\args\\test_args.py']
While the sceond way (python test_args.py input1 input2) returns:
Number of arguments: 3 arguments.
Argument List: ['D:\\Test\\args\\test_args.py', 'input1', 'input2']
Any idea on what this could happen? This issue only happens in one of my computers, both have same version of Windows.
Thanks!
SOLVED:
I search in regedit keyword "python" and found two keys missing %* after "C:\Python27\python.exe" "%1":
Computer\HKEY_CLASSES_ROOT\Applications\python.exe
Computer\HKEY_CLASSES_ROOT\py_auto_file\shell\open\command
And .py is associated with py_auto_file even though I tried assoc .py Python.File
Changing the two keys fixed this issue, thanks!
python -Vto confirm the version numbers. - Ashoka Lellaassoc .py=Python.Fileandftype Python.File="C:\Python27\python.exe" "%1" %*. - Eryk SunHKCRis a merged view ofHKLM\Software\Classes(local machine) andHKCU\Software\Classes(user). The user settings in theHKCUhive takes precedence in the merged view. But the cmd shell'sassocandftypecommands only edit theHKLMsettings. - Eryk Sunpy_auto_fileandpyw_auto_fileare the culprits. I just did an anaconda install on a brand new Windows 8 machine. Setting all theassocandftypevalues didn't work, but after fixing these two values everything is good. - Janus