Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从批处理文件调用python脚本将打开第二个控制台_Python_Batch File_Command Prompt - Fatal编程技术网

从批处理文件调用python脚本将打开第二个控制台

从批处理文件调用python脚本将打开第二个控制台,python,batch-file,command-prompt,Python,Batch File,Command Prompt,我有一个运行python脚本的批处理文件。调用python脚本时,它会启动第二个windows控制台,然后在完成后消失。这是一个问题,因为我正在批处理文件中编辑PYTHONPATH环境变量,但由于python脚本正在第二个窗口中运行,因此它无法看到已编辑的PYTHONPATH环境变量。它过去工作得很好(一切都可以在同一个windows控制台中运行)。我刚安装了Vista SP2,这个问题就出现了。有没有关于如何修复可能损坏的部件的想法 谢谢。您是否尝试将python脚本的扩展名更改为.pyw,或

我有一个运行python脚本的批处理文件。调用python脚本时,它会启动第二个windows控制台,然后在完成后消失。这是一个问题,因为我正在批处理文件中编辑PYTHONPATH环境变量,但由于python脚本正在第二个窗口中运行,因此它无法看到已编辑的PYTHONPATH环境变量。它过去工作得很好(一切都可以在同一个windows控制台中运行)。我刚安装了Vista SP2,这个问题就出现了。有没有关于如何修复可能损坏的部件的想法


谢谢。

您是否尝试将python脚本的扩展名更改为.pyw,或仅使用pythonw.exe调用它?

您是否尝试将python脚本的扩展名更改为.pyw,或仅使用pythonw.exe调用它?

可能是.py文件类型与pythonw.exe关联,因此导致它在一个新的过程中打开。找到任何.py文件,右键单击它,选择“属性”,然后在“打开方式:”下查看默认解释器是什么。

可能是.py文件类型与pythonw.exe关联,因此导致它在新进程中打开。找到任何.py文件,右键单击它,选择properties,然后在“Opens with:”下查看默认解释器是什么。

好的,所以我决定重新安装python。如果我在默认位置卸载并重新安装(我使用的是windows安装程序),它似乎没有效果。我清理了注册表并重新安装。还是没什么不同。但是,如果我将python安装在不同的位置(默认位置除外),它似乎运行良好。某个地方显然有些腐败,但我不知道在哪里。因此,我将在不同的位置重新安装所有其他模块,并从那里开始


谢谢大家的回复。

好的,所以我决定重新安装python。如果我在默认位置卸载并重新安装(我使用的是windows安装程序),它似乎没有效果。我清理了注册表并重新安装。还是没什么不同。但是,如果我将python安装在不同的位置(默认位置除外),它似乎运行良好。某个地方显然有些腐败,但我不知道在哪里。因此,我将在不同的位置重新安装所有其他模块,并从那里开始


谢谢大家的回复。

谢谢大家的回复。我用pythonw.exe运行它,第二个窗口没有弹出,但python脚本仍在第二个窗口中运行(即python脚本中的print语句没有显示在主控制台窗口中)。我认为pythonw.exe总是在“不可见窗口”中运行。你试过python.exe吗?(我希望这与直接运行.py脚本不同——我认为windows extension-magic调度会产生某种干扰)我使用的是python.exe。如果批处理文件正在调用它,或者我只是从命令行运行python脚本,这似乎没有什么区别。无论哪种方式,都会弹出第二个窗口。感谢您的回复。我用pythonw.exe运行它,第二个窗口没有弹出,但python脚本仍在第二个窗口中运行(即python脚本中的print语句没有显示在主控制台窗口中)。我认为pythonw.exe总是在“不可见窗口”中运行。你试过python.exe吗?(我希望这与直接运行.py脚本不同——我认为windows extension-magic调度会产生某种干扰)我使用的是python.exe。如果批处理文件正在调用它,或者我只是从命令行运行python脚本,这似乎没有什么区别。不管怎样,都会弹出第二个窗口。不幸的是,我现在只能使用Vista(它是一台工作电脑)。我还在同事的电脑上用类似的设置尝试了批处理文件,结果运行良好。我不知道SP2是否真的应该受到责备,还是只是巧合。我正在使用命令C:\python25\python.exe script.py。我还确定批处理文件与此无关。当我尝试从命令行运行python脚本时也会发生同样的情况。是的,看起来就是这样!在所有用户的选项中,它被设置为以管理员身份运行。我检查过了,现在没事了!谢谢你的帮助,埃里克森!不幸的是,我现在只能使用Vista(它是一台工作电脑)。我还在同事的电脑上用类似的设置尝试了批处理文件,结果运行良好。我不知道SP2是否真的应该受到责备,还是只是巧合。我正在使用命令C:\python25\python.exe script.py。我还确定批处理文件与此无关。当我尝试从命令行运行python脚本时也会发生同样的情况。是的,看起来就是这样!在所有用户的选项中,它被设置为以管理员身份运行。我检查过了,现在没事了!谢谢你的帮助,埃里克森!我确实获得了Python.File作为关联的应用程序。以下是我在运行
ftype Python.File
:Python.File=“C:\Python25\Python.exe”“%1”%*时得到的结果,我确实将Python.File作为关联的应用程序。以下是我运行
ftype Python.File
:Python.File=“C:\Python25\Python.exe”“%1”“时得到的结果*