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

2024-05-10 14:55:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Notepad++中复制IDLE的alt+m命令(在sys路径中打开一个模块)。我喜欢记事本++编辑(而不是空闲),但这是一个我找不到的功能。在

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

我试过了:

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

但是,我得到一个错误:

^{pr2}$

我该怎么解决这个问题?在

另外,给定一个字符串,比如'nums.py',如何找到它的完整路径?它将位于两个文件夹中的一个:'D:\\my_stuff\\Google Drive\\Modules'或{}(它也可以在'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++

这不包括子文件夹,看起来相当笨拙。谢谢!在


Tags: 模块实例路径程序文件夹modulesosmy
1条回答
网友
1楼 · 发布于 2024-05-10 14:55:00

如果您的.py文件将与/notepad++关联,os.startfile(f, 'notepad++.exe')将适合您(请参见ftype)。在

除非您想创建此关联,否则以下代码将为您打开记事本+:

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

参考号:^{}

相关问题 更多 >