为什么控制台会自动最小化?

时间:2017-04-28 06:10:56

标签: python windows python-3.x cmd

我是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

1 个答案:

答案 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\ClassesHKLM\Software\Classes编辑基础软件类,而不是合并HKCR视图。