我是Python的新手。今天我在控制台中运行Python脚本时发现了一个问题。当我在cmd中运行脚本时,它会自动最小化。此外,如果我只打开cmd来执行.py文件,它会同时打开文件最小化。最后,没有任何内容写入控制台。有谁知道为什么?
如果代码本身导致了问题,我将其粘贴在下面:
# -*- coding: utf-8 -*-
from functools import reduce
def fn(x,y):
return x*10+y
def char2num(s):
return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}[s]
t=reduce(fn,map(char2num,'123456'))
print(t)
根据以下命令,.py文件关联当前由Notepad ++处理。
>reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\UserChoice
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\UserChoice
Hash REG_SZ rHDUu4DAyAc=
ProgId REG_SZ Applications\Notepad++.exe
答案 0 :(得分:1)
它行为不当,因为打开.py文件当前由Notepad ++文本编辑器而不是py.exe或python.exe处理。要解决此问题,请首先打开“控制面板”中的“默认程序”对话框。选择将文件类型或协议与程序关联的选项。滚动到" .py"然后双击它。选择" Python"带有Python徽标的条目,最好是带有火箭的那个,如果不止一个的话。单击确定后,描述现在应该是#34; Python文件",并且在顶部它应该具有带有" Python软件基础"的Python图标。在它旁边。
确认.py文件的资源管理器ProgId
密钥中的UserChoice
值已更改为Python.File
。例如:
>reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\UserChoice /v ProgId
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\UserChoice
ProgId REG_SZ Python.File
最后验证Python.File
命令模板是否符合预期:
>reg query HKCR\Python.File\shell\open\command
HKEY_CLASSES_ROOT\Python.File\shell\open\command
(Default) REG_SZ "C:\Windows\py.exe" "%L" %*
就我而言,我为所有用户安装了py启动器,这是Python 3安装的默认设置。模板中的"%L"
或"%1"
是.py脚本的完全限定路径,%*
用于命令行参数。如果你必须解决这个问题,那么在regedit中最容易做到这一点。您最好使用HKCU\Software\Classes
或HKLM\Software\Classes
编辑基础软件类,而不是合并HKCR
视图。