【问题标题】:Python IDLE not displaying code when used with command line与命令行一起使用时,Python IDLE 不显示代码
【发布时间】:2016-12-31 01:22:26
【问题描述】:

我已将 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-> 运行模块调用脚本之间产生干扰?

【问题讨论】:

  • 如何运行脚本?
  • 通常情况下,不会使用 Window 的“运行”对话框运行 .py,而是使用真正的终端调用脚本:CMD 提示符或 Powershell。如果你这样做了,终端会显示 Hello 并启动 Excel。
  • 嗨,你是对的,当我从 Powershell 运行同样有问题的脚本时,我确实在 PowerShell 终端中看到了 Hello。谢谢,这确实带来了一些信息。

标签: python


【解决方案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。

【讨论】:

  • 嗨,我确实看到一个黑色的终端窗口立即打开和关闭。你是说Hello会写在那个窗口里吗?也许我混淆了 IDLE 和解释器?
  • 是的,hello 正在那里输出。就像我说的,您可以通过运行“命令提示符”并运行脚本自己验证这一点。
猜你喜欢
  • 1970-01-01
  • 2018-10-11
  • 1970-01-01
  • 2018-05-21
  • 1970-01-01
  • 2016-01-10
  • 1970-01-01
  • 1970-01-01
  • 2014-02-11
相关资源
最近更新 更多