【问题标题】:Open file in IDLE through python script通过python脚本在IDLE中打开文件
【发布时间】:2020-03-29 12:21:29
【问题描述】:

如何通过 python 脚本在 IDLE 中打开特定文件?

我了解可以通过子进程打开应用:

import subprocess
subprocess.call('C:\\program.exe')

但我不知道如何让它打开一个文件。

如果有帮助,这个:

import os.path
import sys

# Enable running IDLE with idlelib in a non-standard location.
# This was once used to run development versions of IDLE.
# Because PEP 434 declared idle.py a public interface,
# removal should require deprecation.

idlelib_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if idlelib_dir not in sys.path:
    sys.path.insert(0, idlelib_dir)

from idlelib.pyshell import main
main()

也会打开 IDLE。我查了一下,main()没有带文件等任何参数打开。

我正在使用带有 Python 3.6.4 的 Windows 10。

非常感谢任何帮助。

【问题讨论】:

标签: python python-3.x python-idle


【解决方案1】:

这里有两种通过IDLE打开任何python文件的方法

import subprocess

p = subprocess.Popen(["idle.exe", path_to_file])
# ... do other things while idle is running
returncode = p.wait() # wait for notepad to exit

或者:

import subprocess
import os

subprocess.call([path_to_idle, path_to_file])

您还可以使用这些方法打开任何已安装应用程序的文件 (How can I open files in external programs in Python?)

【讨论】:

  • 'idle.exe' 的存在取决于安装。
【解决方案2】:

可以使用<python> -m idlelib <IDLE args> 在任何平台上从命令行运行 IDLE,其中<python> 可以是“python”、“python3”或“py -3.8”行,具体取决于平台。 <IDLE args>IDLE doc 的“命令行使用”小节中定义,在 IDLE 中也可以作为 Help => IDLE Help。

可能的“IDLE arg”是要在编辑器窗口中打开的文件的路径。相对路径是相对于当前工作目录的,可以使用 'cd' 命令更改。工作命令行可以使用引用或转换为subprocess.runsubprocess.Popen 调用的列表。在 Python 代码中,工作目录更改为 os.chdir('newdir')

【讨论】:

  • 你能提供一个python例子吗?
  • @Andoo 我只是用反引号替换了引号并添加了链接,所以我的答案现在应该更清楚了。
  • 我仍然没有看到一个实际的例子
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多