我試圖在Notepad ++中複製IDLE的alt
+ m
命令(在sys
路徑中打開一個模塊)。我喜歡Notepad ++進行編輯(而不是IDLE),但這是我無法找到的一個功能。從程序在記事本++中打開Python文件
當按下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++
這不佔用子文件夾,似乎相當笨重。謝謝!
謝謝!我需要第二個,因爲我從另一個Python程序打開Python('.py')文件。另外,我添加了一個鏈接到子流程模塊。 – 2013-03-16 15:31:39
另外,你知道如何找到一個文件完整的文件路徑完全給定的文件名? – 2013-03-16 15:33:29
os.path.abspath(path)http://docs.python.org/2/library/os.path.html但請記住真正的_solely_路徑無法解析,Python運行時沒有辦法如果它位於幾個文件夾中,則推導出foo.txt的完整路徑 – 2013-03-16 15:35:05