Предполагается, что вопрос о том, что здесь задокументировано: https://www.eltan.com/images/brochures/sf/dp_sf_manual.pdf,, где dpcmd
задокументировано, начиная со страницы 35, похоже, что это обычная неинтерактивная программа командной строки.
Некоторая путаница может возникнуть из-за использования альтернатив
Программное обеспечение командной строки окна DediProg выполняется файлом «dpcmd.exe». Там
три разных способа запуска командной строки dos.
- Дважды щелкните значок «dpcmd» на рабочем столе, введите dpcmd и введите.
- Измените каталог dos на то же место, где находится «dpcmd.exe».
C: \ program files \ dediprog \ SF100
- Введите следующую команду, чтобы автоматически направить команду dpcmd в «dpcmd.exe»
место.
Установить путь =% path%; ”c: \ program files \ dediprog \ SF100
, где первая альтернатива предполагает, что на вашем рабочем столе есть значок «dpcmd», но это, вероятно, просто делает то, что делает третий вариант, настраивая командную строку, где dpcmd.exe
находится в пути поиска.
Исходя из варианта 2, сама программа не зависит от того, находится ли она в пути, и, таким образом, вы сможете запустить свою задачу перепрошивки как
from subprocess import Popen, PIPE
p = Popen("\"c:\\program files\\dediprog\\SF100\\dpcmd.exe\" -u\"c:\\<path to bio.bin>\\bio.bin\"")
или с немного меньшим количеством кавычек при построении командной строки из списка:
p = Popen(["c:\\program files\\dediprog\\SF100\\dpcmd.exe","-uc:\\<path to bio.bin>\\bio.bin"])
Popen
изменяет текущий каталог на каталог исполняемого файла, поэтому необходим полный путь к bio.bin
(в обоих случаях).