title: Running Python script from command line opens script in the default text editor instead of executing script
body: <p>I have files with <code>.py</code> extension associated with Python interpreter. However when I type name of such a file at the command line and press <code>ENTER</code> the file is being opened in the default text editor (Notepad++) instead of being run with the associated Python interpreter. Why?</p>
  
  <pre><code>Z:\1&gt;where python
  c:\Program Files\Python\2.7\python.exe
  
  Z:\1&gt;reg query HKCR\.py /ve
  
  HKEY_CLASSES_ROOT\.py
      (Default)    REG_SZ    Python.File
  
  
  Z:\1&gt;reg query HKCR\Python.File\shell\open\command /ve
  
  HKEY_CLASSES_ROOT\Python.File\shell\open\command
      (Default)    REG_SZ    c:\Program Files\Python\2.7\python.exe "%1" %*
  
  
  Z:\1&gt;echo %PATHEXT%
  .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
  
  Z:\1&gt;type a.py
  from __future__ import print_function; import sys; print(sys.executable); print(sys.version)
  Z:\1&gt;a.py    &lt;--- this opens a.py in the default text editor
  </code></pre>
  
  <p>I'm on Windows Vista x64 using <code>Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32</code></p>
  
  <p>UPDATE</p>
  
  <p>After deleting <code>HKEY_CLASSES_ROOT\Unknown\shell\notepad++\command</code> key (I created this key in the past in my quest to associate files without extension with Notepad++ - see <a href="https://superuser.com/q/13653/664">How to set the default program for opening files without an extension in Windows?</a>) which had value of <code>C:\Program Files (x86)\Notepad++\notepad++ %1</code> I get this error:</p>
  
  <blockquote>
    <p>This file does not have a program associated with it for performing
    this action. Create an association in the Set Associations control
    panel.</p>
  </blockquote>
  
  <p>UPDATE 2</p>
  
  <p>To display all registry keys used normally by system to find out what program is associated with <code>.py</code> extension I run the following batch file (<code>python_assoc.query.bat</code>):</p>
  
  <pre><code>@echo off
  if "%~1" == "details" (
      set keypath=HKLM\Software\Classes
      echo ----- HKEY_LOCAL_MACHINE -----
      call :query
      set keypath=HKCU\Software\Classes
      echo.
      echo ----- HKEY_CURRENT_USER -----
      call :query
  ) else (
      set keypath=HKCR
      echo ----- HKEY_CLASSES_ROOT -----
      call :query
  )   
  goto end
  
  :query
  reg query %keypath%\.py /ve
  reg query %keypath%\.pyw /ve
  reg query %keypath%\.pyc /ve
  reg query %keypath%\.pyo /ve
  
  reg query %keypath%\Python.File\shell\open\command /ve
  reg query %keypath%\Python.NoConFile\shell\open\command /ve
  reg query %keypath%\Python.CompiledFile\shell\open\command /ve
  goto :eof
  
  :end
  set keypath=
  </code></pre>
  
  <p>OUTPUT</p>
  
  <pre><code>Z:\1&gt;python_assoc.query.bat details
  ----- HKEY_LOCAL_MACHINE -----
  
  HKEY_LOCAL_MACHINE\Software\Classes\.py
      (Default)    REG_SZ    Python.File
  HKEY_LOCAL_MACHINE\Software\Classes\.pyw
      (Default)    REG_SZ    Python.NoConFile
  HKEY_LOCAL_MACHINE\Software\Classes\.pyc
      (Default)    REG_SZ    Python.CompiledFile
  HKEY_LOCAL_MACHINE\Software\Classes\.pyo
      (Default)    REG_SZ    Python.CompiledFile
  HKEY_LOCAL_MACHINE\Software\Classes\Python.File\shell\open\command
      (Default)    REG_SZ    c:\Program Files\Python\2.7\python.exe "%1" %*
  HKEY_LOCAL_MACHINE\Software\Classes\Python.NoConFile\shell\open\command
      (Default)    REG_SZ    c:\Program Files\Python\2.7\pythonw.exe "%1" %*
  HKEY_LOCAL_MACHINE\Software\Classes\Python.CompiledFile\shell\open\command
      (Default)    REG_SZ    c:\Program Files\Python\2.7\python.exe "%1" %*
  
  ----- HKEY_CURRENT_USER -----
  ERROR: The system was unable to find the specified registry key or value.
  ERROR: The system was unable to find the specified registry key or value.
  ERROR: The system was unable to find the specified registry key or value.
  ERROR: The system was unable to find the specified registry key or value.
  ERROR: The system was unable to find the specified registry key or value.
  ERROR: The system was unable to find the specified registry key or value.
  ERROR: The system was unable to find the specified registry key or value.
  </code></pre>
  
  <p>I also run Process Monitor (thanks <em>Maximus</em>) to see what registry keys are being read when running <code>a.py</code> from command line. I have set filter to include only pid of <code>cmd.exe</code> used to run <code>a.py</code> file and to exclude operations of type <code>RegCloseKey</code>.</p>
  
  <pre><code>"Operation","Path","Result","Detail"
  "RegOpenKey","HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers","NAME NOT FOUND","Desired Access: Query Value"
  "RegOpenKey","HKLM\SOFTWARE\Microsoft\WINDOWS NT\CURRENTVERSION\AppCompatFlags\Custom\a.py","NAME NOT FOUND","Desired Access: Query Value"
  "RegOpenKey","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer","SUCCESS","Desired Access: Query Value"
  "RegQueryValue","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MaximizeApps","NAME NOT FOUND","Length: 144"
  "RegOpenKey","HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer","SUCCESS","Desired Access: Query Value"
  "RegQueryValue","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\MaximizeApps","NAME NOT FOUND","Length: 144"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\Drive\shellex\FolderExtensions","NAME NOT FOUND","Desired Access: Enumerate Sub Keys"
  "RegOpenKey","HKCR\Drive\shellex\FolderExtensions","SUCCESS","Desired Access: Enumerate Sub Keys"
  "RegQueryKey","HKCR\Drive\shellex\FolderExtensions","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\Drive\shellex\FolderExtensions","NAME NOT FOUND","Desired Access: Maximum Allowed"
  "RegEnumKey","HKCR\Drive\shellex\FolderExtensions","SUCCESS","Index: 0, Name: {fbeb8a05-beee-4442-804e-409d6c4515e9}"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\Drive\shellex\FolderExtensions\{fbeb8a05-beee-4442-804e-409d6c4515e9}","NAME NOT FOUND","Desired Access: Query Value"
  "RegOpenKey","HKCR\Drive\shellex\FolderExtensions\{fbeb8a05-beee-4442-804e-409d6c4515e9}","SUCCESS","Desired Access: Query Value"
  "RegQueryKey","HKCR\Drive\shellex\FolderExtensions\{fbeb8a05-beee-4442-804e-409d6c4515e9}","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\Drive\shellex\FolderExtensions\{fbeb8a05-beee-4442-804e-409d6c4515e9}","NAME NOT FOUND","Desired Access: Maximum Allowed"
  "RegQueryValue","HKCR\Drive\shellex\FolderExtensions\{fbeb8a05-beee-4442-804e-409d6c4515e9}\DriveMask","SUCCESS","Type: REG_DWORD, Length: 4, Data: 32"
  "RegEnumKey","HKCR\Drive\shellex\FolderExtensions","NO MORE ENTRIES","Index: 1, Length: 288"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\.py","NAME NOT FOUND","Desired Access: Query Value"
  "RegOpenKey","HKCR\.py","SUCCESS","Desired Access: Query Value"
  "RegQueryKey","HKCR\.py","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\.py","NAME NOT FOUND","Desired Access: Maximum Allowed"
  "RegQueryValue","HKCR\.py\(Default)","SUCCESS","Type: REG_SZ, Length: 26, Data: Python.File "
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\.py\OpenWithProgids","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\.py\OpenWithProgids","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\OpenWithProgids","SUCCESS","Desired Access: Read"
  "RegQueryKey","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\OpenWithProgids","SUCCESS","Query: Cached, SubKeys: 0, Values: 2"
  "RegEnumValue","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\OpenWithProgids","SUCCESS","Index: 0, Length: 220"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\Python.File","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\Python.File","SUCCESS","Desired Access: Read"
  "RegEnumValue","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\OpenWithProgids","SUCCESS","Index: 1, Length: 220"
  "RegEnumValue","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\OpenWithProgids","NO MORE ENTRIES","Index: 2, Length: 220"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\.py","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\.py","SUCCESS","Desired Access: Read"
  "RegOpenKey","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py","SUCCESS","Desired Access: Read"
  "RegOpenKey","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py","SUCCESS","Desired Access: Read"
  "RegOpenKey","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\UserChoice","NAME NOT FOUND","Desired Access: Query Value"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\Python.File ","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\Python.File ","NAME NOT FOUND","Desired Access: Read"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\.py","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\.py","SUCCESS","Desired Access: Read"
  "RegQueryKey","HKCR\.py","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\.py\shell","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\.py\shell","NAME NOT FOUND","Desired Access: Read"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\.py","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\.py","SUCCESS","Desired Access: Read"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\Unknown","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\Unknown","NAME NOT FOUND","Desired Access: Read"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\SystemFileAssociations\.py","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\SystemFileAssociations\.py","NAME NOT FOUND","Desired Access: Read"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\.py","NAME NOT FOUND","Desired Access: Query Value"
  "RegOpenKey","HKCR\.py","SUCCESS","Desired Access: Query Value"
  "RegQueryKey","HKCR\.py","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\.py","NAME NOT FOUND","Desired Access: Maximum Allowed"
  "RegQueryValue","HKCR\.py\PerceivedType","NAME NOT FOUND","Length: 144"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\SystemFileAssociations\.py","NAME NOT FOUND","Desired Access: Query Value"
  "RegOpenKey","HKCR\SystemFileAssociations\.py","NAME NOT FOUND","Desired Access: Query Value"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\*","SUCCESS","Desired Access: Read"
  "RegQueryKey","HKCU\Software\Classes\*","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\*\shell","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\*\shell","SUCCESS","Desired Access: Read"
  "RegQueryKey","HKCR\*\shell","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\*\shell","NAME NOT FOUND","Desired Access: Maximum Allowed"
  "RegQueryValue","HKCR\*\shell\(Default)","NAME NOT FOUND","Length: 144"
  "RegQueryKey","HKCR\*\shell","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\*\shell\open","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\*\shell\open","NAME NOT FOUND","Desired Access: Read"
  "RegQueryKey","HKCU\Software\Classes","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\AllFilesystemObjects","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\AllFilesystemObjects","SUCCESS","Desired Access: Read"
  "RegQueryKey","HKCR\AllFilesystemObjects","SUCCESS","Query: Name"
  "RegOpenKey","HKCU\Software\Classes\AllFilesystemObjects\shell","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCR\AllFilesystemObjects\shell","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKLM\Software\Microsoft\Windows\CurrentVersion\SideBySide","SUCCESS","Desired Access: Read"
  "RegQueryValue","HKLM\COMPONENTS\PreferExternalManifest","NAME NOT FOUND","Length: 20"
  "RegOpenKey","HKLM\Software\Microsoft\Windows\CurrentVersion\SideBySide\AssemblyStorageRoots","REPARSE","Desired Access: Enumerate Sub Keys"
  "RegOpenKey","HKLM\COMPONENTS\AssemblyStorageRoots","NAME NOT FOUND","Desired Access: Enumerate Sub Keys"
  "RegOpenKey","HKLM\Software\Microsoft\DirectUI","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKLM\Software\Microsoft\CTF\TIP\{0000897b-83df-4b96-be07-0fb58b01c4a4}\LanguageProfile\0x00000000\{0001bea3-ed56-483d-a2e2-aeae25577436}","SUCCESS","Desired Access: Read"
  "RegQueryValue","HKLM\SOFTWARE\Microsoft\CTF\TIP\{0000897b-83df-4b96-be07-0fb58b01c4a4}\LanguageProfile\0x00000000\{0001bea3-ed56-483d-a2e2-aeae25577436}\Enable","SUCCESS","Type: REG_DWORD, Length: 4, Data: 1"
  "RegOpenKey","HKCU","SUCCESS","Desired Access: Read"
  "RegOpenKey","HKCU\Keyboard Layout\Toggle","SUCCESS","Desired Access: Read"
  "RegQueryValue","HKCU\Keyboard Layout\Toggle\Language Hotkey","SUCCESS","Type: REG_SZ, Length: 4, Data: 3"
  "RegQueryValue","HKCU\Keyboard Layout\Toggle\Layout Hotkey","SUCCESS","Type: REG_SZ, Length: 4, Data: 3"
  "RegOpenKey","HKCU","SUCCESS","Desired Access: Read"
  "RegOpenKey","HKCU\SOFTWARE\Microsoft\CTF\LangBarAddIn","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKLM\SOFTWARE\Microsoft\CTF\LangBarAddIn","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKCU","SUCCESS","Desired Access: Read"
  "RegOpenKey","HKCU\Software\Microsoft\CTF\DirectSwitchHotkeys","SUCCESS","Desired Access: Read"
  "RegEnumKey","HKCU\Software\Microsoft\CTF\DirectSwitchHotkeys","NO MORE ENTRIES","Index: 0, Length: 288"
  "RegOpenKey","HKLM\SOFTWARE\Microsoft\CTF\KnownClasses","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKLM\SOFTWARE\Microsoft\CTF\KnownClasses","NAME NOT FOUND","Desired Access: Read"
  "RegOpenKey","HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes","SUCCESS","Desired Access: Read"
  "RegQueryValue","HKLM\SOFTWARE\Microsoft\WINDOWS NT\CURRENTVERSION\FontSubstitutes\Segoe UI","NAME NOT FOUND","Length: 144"
  "RegOpenKey","HKLM\SOFTWARE\Microsoft\CTF\KnownClasses","NAME NOT FOUND","Desired Access: Read"
  </code></pre>