我已经在闪存驱动器上直接安装了Python,我的模块中的所有引用都使用完整路径(在闪存驱动器上)来运行。我的IDLE窗口没有显示我的代码的执行情况。
我有一个名为test.py的Python脚本,其中包含以下代码:
print('Hello')
from win32com.client import Dispatch
xl = Dispatch("Excel.Application")
xl.Visible = True # otherwise excel is hidden
如果我使用以下命令从编辑器运行脚本:运行 - >运行模块,Excel工作簿成功打开,Python IDLE将显示以下内容:
====================== RESTART: D:\MICK\Scripts\test.py ======================
Hello
>>>
测试2:现在,如果我使用Windows + R并运行:D:\ MICK \ Scripts \ test.py,Excel工作簿会成功打开,但IDLE甚至不会打开。
测试3:我手动打开IDLE(位于:D:\ MICK \ Anaconda \ Lib \ idlelib \ idle.pyw)并使用Windows + R运行:D:\ MICK \ Scripts \ test.py。将打开Excel工作簿,但IDLE保持空白:
Python 3.5.2 |Anaconda 4.2.0 (32-bit)| (default, Jul 5 2016, 11:45:57) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>
什么可能导致Windows + R之间的干扰称为脚本和Run->运行名为scripts的模块?
答案 0 :(得分:1)
当您使用Win-R时,您是否注意到命令提示窗口快速打开和关闭?您可以通过打开命令提示符并运行它来看到这是发生的事情,并注意到" Hello"将在命令提示符下显示。
IDLE是IDE,而不是python解释器。当您从编辑器运行它时,它专门用于在IDLE中运行。
除非你明确调用IDLE,否则你不应该期望在IDLE中运行。
当您尝试运行D:\MICK\Scripts\test.py
时,实际发生的是Windows正在寻找具有' py'的文件的处理程序。扩展,然后运行相应的项目,在本例中为python,因此您可能会得到类似python D:\MICK\Scripts\test.py
的内容,而您注意到它并未调用IDLE。