通过 python 脚本在 IDLE 中打开文件

Open file in IDLE through python script

如何通过 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()没有带文件打开等任何参数。

我正在使用 Windows 10 和 Python 3.6.4.

非常感谢任何帮助。

这里有 2 种方法可以通过 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?)

可以在任何平台上使用 <python> -m idlelib <IDLE args> 从命令行 运行 IDLE,其中 <python> 可以是 'python'、'python3' 或其他行'py -3.8',取决于平台。 <IDLE args>IDLE doc 的 "Command line usage" 小节中定义,也可以在 IDLE 中作为帮助 => IDLE 帮助获得。

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