Notepad ++でIDLEのalt
+m
コマンド(パス内のモジュールを開く)を複製しようとしています。sys
私は(IDLEではなく)編集用のNotepad ++が好きですが、これは私が見つけられない機能の1つです。
が押されたとき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'
フルパスを見つけるにはどうすればよいですか?次の2つのフォルダのいずれかになります:'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++
これはサブフォルダーを考慮しておらず、かなり不格好なようです。ありがとう!