Если вы можете поставлять инструмент командной строки вместе с вашим приложением, и если только ваше приложение будет использовать его (вместо инструмента, используемого непосредственно пользователем), вы можете напрямую включить и использовать инструмент командной строки с вашим приложениемнапример:
- Храните инструмент командной строки где-нибудь в каталоге вашего приложения.
- Установите путь поиска модуля Python так, чтобы он искал нужный вам модуль.
Задание пути поиска модуля Python относительно программы на Python можно сделать с помощью
import sys
import os.path as path
sys.path.append(path.join(path.dirname(__file__),
'<relative path between this program and the command line tool module>'))
import <command line tool module>
Относительный путь можно записать с помощью ..
соглашения о родительском каталоге: thisработает как в Unix (включая Mac OS X), так и в Windows.
PS : если многим программам требуется доступ к инструментальному модулю командной строки, вы можете:
Либо поместите приведенный выше код в каждую из ваших программ,
или, если вы хотите что-то более простое в обслуживании, вы можете создать свой собственный модуль my_runner
и использовать его какпрокси: ваш модуль my_runner
будет импортировать все оригинальные функции runner
следующим образом:
import sys
import os.path as path
sys.path.append(path.join(path.dirname(__file__),
'<relative path between this program and the original ino module>'))
from ino.runner import *
Затем вы можете использовать оригинальный модуль бегуна во всех своих программах через прокси,просто выполняя «обычный» импорт вашего собственного my_runner
модуля:
from my_runner import main
PPS : если вы хотите более надежныйПуть, который работает, даже если рабочий каталог впоследствии изменяется, возможно преобразовать потенциально локальный путь в абсолютный путь с помощью: path.join(path.abspath(path.dirname(__file__)),…
.