从命令行运行Python脚本在默认文本编辑器中打开脚本,而不是执行脚本 [英] Running Python script from command line opens script in the default text editor instead of executing script

查看:2020
本文介绍了从命令行运行Python脚本在默认文本编辑器中打开脚本,而不是执行脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有与 .py 扩展名相关联的文件与Python解释器。但是,当我在命令行输入这样的文件名并按 ENTER 时,文件将在默认文本编辑器(Notepad ++)中打开,而不是使用关联的Python解释器。为什么?

  Z:\1>其中python 
c:\Program Files \Python\2.7\\ \\ python.exe

Z:\1> reg query HKCR\.py / ve

HKEY_CLASSES_ROOT\.py
(默认)REG_SZ Python。文件


Z:\1> reg query HKCR\Python.File\shell\open\command / ve

HKEY_CLASSES_ROOT\Python .File \shell\open\command
(默认)REG_SZ c:\Program Files\Python\2.7\python.exe%1%*


Z:\1> echo%PATHEXT%
.COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC ; .PY; .PYW

Z:\1> type a.py
from __future__ import print_function; import sys; print(sys.executable); print(sys.version)
Z:\1> a.py< ---这将在默认文本编辑器中打开a.py

我在Windows Vista x64上使用 Python 2.7.3(默认,2012年4月10日,23:24:47)[MSC v.1500 64 bit(AMD64)] on win32



UPDATE



$ c> HKEY_CLASSES_ROOT\Unknown\shell\\\
otepad ++ \command 键(我在过去创建这个键,用于将文件与Notepad ++无扩展关联 - 请参阅如何设置默认程序以在Windows中打开没有扩展名的文件?)其值为 C:\Program Files (x86)\Notepad ++ \\\
otepad ++%1
我收到此错误:


与它相关联的程序,用于执行
此操作。在设置关联控件
面板中创建关联。


UPDATE 2



要显示系统正常使用的所有注册表项,以找出与 .py 扩展相关联的程序我运行以下批处理文件( python_assoc.query.bat ):

  @echo off 
如果%〜1 ==details(
set keypath = HKLM \Software \Classes
echo ----- HKEY_LOCAL_MACHINE -----
call:query
设置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 =

OUTPUT


$ b b

  Z:\1> python_assoc.query.bat详细信息
----- HKEY_LOCAL_MACHINE -----

HKEY_LOCAL_MACHINE\\ \\ Software \Classes \.py
(默认)REG_SZ Python.File
HKEY_LOCAL_MACHINE \Software \Classes \.pyw
(默认)REG_SZ Python.NoConFile
HKEY_LOCAL_MACHINE \Software \Classes \.pyc
(默认)REG_SZ Python.CompiledFile
HKEY_LOCAL_MACHINE \Software \Classes \.pyo
(默认)REG_SZ Python.CompiledFile
HKEY_LOCAL_MACHINE \Software \Classes\Python.File\shell\open\command
(默认)REG_SZ c:\Program Files\Python\2.7\python.exe% 1%*
HKEY_LOCAL_MACHINE \Software \Classes \Python.NoConFile\shell\open\command
(默认)REG_SZ c:\Program Files\Python\2.7\\ \\ pythonw.exe%1%*
HKEY_LOCAL_MACHINE \Software \Classes\Python.CompiledFile\shell\open\command
(默认)REG_SZ c:\Program Files \\ \\Python\2.7\python.exe%1%*

----- HKEY_CURRENT_USER -----
错误:系统无法找到指定的注册表键或值。
错误:系统无法找到指定的注册表项或值。
错误:系统无法找到指定的注册表项或值。
错误:系统无法找到指定的注册表项或值。
错误:系统无法找到指定的注册表项或值。
错误:系统无法找到指定的注册表项或值。
错误:系统无法找到指定的注册表项或值。

我也运行Process Monitor(感谢 Maximus 正在从命令行运行 a.py 时读取。我设置过滤器只包括用于运行 a.py 文件的 cmd.exe 的pid,类型 RegCloseKey

 操作,路径 ,Detail
RegOpenKey,HKCU\ Softwareoftware \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\ Softwareoftware \\ \\ Drive \shellex\FolderExtensions,NAME NOT FOUND,Desired Access:Enumerate Sub Keys
RegOpenKey,HKCR\Drive\shellex\FolderExtensions,SUCCESS所需访问:枚举子键
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,所需访问:查询值
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,成功,类型:REG_DWORD,长度:4,数据: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 \ ,SUCCESS,SUCCESS,查询:名称$ b,SUCCESS,SUCCESS,类型:REG_SZ,长度:26,数据:Python.File
RegQueryKey,HKCCU\Software\ $ bRegOpenKey,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,成功,期望的访问:读
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 \ Softwareoftware \Classes \Python.File,NAME NOT FOUND,Desired Access:Read
RegOpenKey,HKCR\Python.File,SUCCESS 希望的访问:读取
RegEnumValue,HKCU \软件\Microsoft\Windows \CurrentVersion\Explorer\FileExts\.py \OpenWithProgids,SUCCESS 1,长度:220
RegEnumValue,HKCU \Software \Microsoft\Windows \CurrentVersion\Explorer\FileExts\.py \OpenWithProgids,NO MORE ENTRIES,索引:2,长度: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\\ \\软件\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py,SUCCESS,所需的访问权限:读取
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
RegExpenKey,HKCR\Python.File,NAME NOT FOUND,Desired Access:Read
RegQueryKey,HKCU\Software \Classes,SUCCESS
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访问:读取
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 \ Softwareoftware \Classes,SUCCESS,Query:Name
RegOpenKey,HKCU\ Softwareoftware \Classes \Unknown,NAME NOT FOUND,Desired Access:Read
RegOpenKey,HKCR\Unknown,NAME NOT FOUND,Desired Access:Read
RegQueryKey,HKCU\Software \Classes,SUCCESS 查询:名称
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 144
RegQueryKey,HKCU \Software \Classes,SUCCESS,Query:Name
RegOpenKey,HKCU\ Softwareoftware \ 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\ Softwareoftware\ ,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\ Softwareoftware \ Classes \ * \shell ,NAME NOT FOUND,NAME NOT FOUND,Length NOT:False,NAME NOT FOUND,Desired Access:Maximum Allowed
RegQueryValue,HKCR \ * \ shell \ b $ bRegQueryKey,HKCR\ * \ shell,SUCCESS,Query:Name
RegOpenKey,HKCU \Software \Classes \ * \shell\打开,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\ Softwareoftware \ Classes \AllFilesystemObjects,NAME NOT FOUND ,想要的访问:读取
RegOpenKey,HKCR\AllFilesystemObjects,SUCCESS,Desired Access:Read
RegQueryKey,HKCR\AllFilesystemObjects,SUCCESS ,查询:名称
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,重新分析,期望的访问:枚举子键
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} ,成功,期望的访问:读
RegQueryValue,HKLM\SOFTWARE\Microsoft\CTF\TIP\ {0000897b-83df-4b96-be07-0fb58b01c4a4} \LanguageProfile \0x00000000 \ {0001bea3-ed56-483d-a2e2-aeae25577436} \ Enable,SUCCESS,类型:REG_DWORD,长度:4,数据: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,类型:REG_SZ,长度:4,数据:3
RegOpenKey,HKCU,SUCCESS,Desired Access:Read
RegOpenKey HKCU\SOFTWARE\Microsoft\CTF\LangBarAddIn,找不到名称,期望的访问:读
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,期望的访问:读取
RegEnumKey,HKCU \ Softwareoftware \CTF\DirectSwitchHotkeys,NO MORE ENTRIES索引:0,长度: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


解决方案

一般来说,由当前用户的设置覆盖:




  • HKCU \Software \ Microsoft \Windows \CurrentVersion \\ \\Explorer\FileExts\.py \UserChoice

  • HKCU\Software\Classes\.py

  • HKCU\Software \Classes \Python.File



    • 但是,当我在更新中读取Process Monitor输出时,看起来没有任何这些 HKCU



      我的下一步是在提升的 cmd 控制台中运行以下命令:

       > assoc .PY = Python.File 
      > ftype Python.File = c:\Program Files\Python\2.7\python.exe%1%*

      据我所知,这在 HKLM \Software \Classes 中设置系统关联,不做任何事情。根据您问题中的信息,似乎这已经正确设置。所以我不知道 assoc ftype 是为了解决这个问题。


      I have files with .py extension associated with Python interpreter. However when I type name of such a file at the command line and press ENTER the file is being opened in the default text editor (Notepad++) instead of being run with the associated Python interpreter. Why?

      Z:\1>where python
      c:\Program Files\Python\2.7\python.exe
      
      Z:\1>reg query HKCR\.py /ve
      
      HKEY_CLASSES_ROOT\.py
          (Default)    REG_SZ    Python.File
      
      
      Z:\1>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>echo %PATHEXT%
      .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
      
      Z:\1>type a.py
      from __future__ import print_function; import sys; print(sys.executable); print(sys.version)
      Z:\1>a.py    <--- this opens a.py in the default text editor
      

      I'm on Windows Vista x64 using Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32

      UPDATE

      After deleting HKEY_CLASSES_ROOT\Unknown\shell\notepad++\command key (I created this key in the past in my quest to associate files without extension with Notepad++ - see How to set the default program for opening files without an extension in Windows?) which had value of C:\Program Files (x86)\Notepad++\notepad++ %1 I get this error:

      This file does not have a program associated with it for performing this action. Create an association in the Set Associations control panel.

      UPDATE 2

      To display all registry keys used normally by system to find out what program is associated with .py extension I run the following batch file (python_assoc.query.bat):

      @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=
      

      OUTPUT

      Z:\1>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.
      

      I also run Process Monitor (thanks Maximus) to see what registry keys are being read when running a.py from command line. I have set filter to include only pid of cmd.exe used to run a.py file and to exclude operations of type RegCloseKey.

      "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"
      

      解决方案

      In general, I'd make sure the association isn't being overridden by settings for the current user:

      • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\UserChoice
      • HKCU\Software\Classes\.py
      • HKCU\Software\Classes\Python.File

      However, as I read the Process Monitor output in your update, it doesn't appear that any of these HKCU keys are defined on your system.

      My next step would be to run the following in an elevated cmd console:

      > assoc .PY=Python.File
      > ftype Python.File=c:\Program Files\Python\2.7\python.exe "%1" %*
      

      As far as I know, this sets the system association in HKLM\Software\Classes and does nothing else. Based on the information in your question, it seems this was already set correctly. So I don't know what either assoc or ftype did to fix the problem.

      这篇关于从命令行运行Python脚本在默认文本编辑器中打开脚本,而不是执行脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆