У %runмагії є параметр, file_finderякий він використовує, щоб отримати повний шлях до файлу для виконання (див. Тут ); як зазначаєте, він просто дивиться в поточний каталог, додаючи ".py" за потреби.
Там , здається, не бути способом вказати , який шукач файлу використання з в %runмагії, але немає нічого , щоб зупинити вас від визначення власної команди магії , яка ставить під %runвідповідним пошуком файлів.
Як дуже неприємний злом, ви можете змінити типовий за замовчуванням file_finderвласний:
IPython.core.magics.execution.ExecutionMagics.run.im_func.func_defaults[2] = my_file_finder
Якщо чесно, то швидкість зміни IPython API змінюється, що так само ймовірно, що й надалі працюватиме так, як визначає ваша власна магія.
import <module>по суті такий же, якexec(<moduleSource>)у JavaScript або Perl.