gpt4 book ai didi

python - 从程序在 Notepad++ 中打开 Python 文件

转载 作者:行者123 更新时间:2023-11-28 17:47:53 24 4
gpt4 key购买 nike

我正在尝试在 Notepad++ 中复制 IDLE 的 alt + m 命令(在 sys 路径中打开一个模块)。我喜欢用 Notepad++ 进行编辑(而不是 IDLE),但这是我找不到的一项功能。

当按下 alt+m 时,我希望它运行一个程序来请求一个模块(这很简单,所以我可以做到)。我的问题是找到模块然后在 Notepad++ 中打开它,而不是简单地运行程序。此外,我希望它在 Notepad++ 中的同一实例(同一窗口)中打开,而不是新实例。

我已经试过了:

import os
f = r"D:\my_stuff\Google Drive\Modules\nums.py"
os.startfile(f, 'notepad++.exe')

但是,我得到这个错误:

Traceback (most recent call last):
File '_filePath_', line 3, in <module>
os.startfile(f, 'notepad++.exe')
OSError: [WinError 1155] No application is associated with the specified file for this operation: 'D:\\my_stuff\\Google Drive\\Modules\\nums.py'

我该如何解决这个问题?

另外,给定一个字符串,例如'nums.py',我如何找到它的完整路径?它将位于以下两个文件夹之一:'D:\\my_stuff\\Google Drive\\Modules''C:\\Python27\Lib'(它也可以位于 'Lib' 文件夹中的各种子文件夹中)。或者,我可以简单地做:

try:
fullPath = r'D:\\my_stuff\\Google Drive\\Modules\\' + f
# method of opening file in Notepad++
except (IOError, FileNotFoundError):
fullPath = r'C:\\Python27\\Lib\\' + f
# open in Notepad++

这不考虑子文件夹并且看起来相当笨重。谢谢!

最佳答案

如果您的 .py 文件将与 Notepad++ 关联,则os.startfile(f, 'notepad++.exe') 将为您工作(参见ftype ).

除非,你想创建这个关联,下面的代码会为你打开 Notepad++ :

import subprocess
subprocess.call([r"c:\Program ...Notepad++.exe", r"D:\my_stuff\Google Drive\Modules\nums.py"])

引用:subprocess.call()

关于python - 从程序在 Notepad++ 中打开 Python 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15450733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com