Уведомления

Группа в Telegram: @pythonsu

#1 Май 15, 2013 13:29:54

Red_baron
Зарегистрирован: 2012-08-30
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Открытие chm-файла на нужной странице

Добрый день!

Необходимо открыть chm-файл на нужной странице.

Для начала просто пытаюсь запустить файл.

import os
#Константа: запуск программы и отсоединение от нее
mode=os.P_DETACH
#Программа
path=r"C:\Windows\hh.exe"
#Адрес справки
args=list()
args.append(r'C:\Users\Владимир\Desktop\Разработка\TUBE2012\spravka.chm')
os.spawnv(mode, path, args)

Программа ошибку не выдает, но ничего не происходит

Офлайн

#2 Май 15, 2013 20:37:44

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Открытие chm-файла на нужной странице

import subprocess as sp 
import os
sp.check_call("hh.exe 7-zip.chm::/fm/options.htm#sevenZip")
Это работает.
Ваш вариант не проверял. spawnv сильно устарел. У меня на машине нет папок которые содержат русские буквы. (Если очень надо кодируйте строку в нужную кодовую страницу. Для вас наверное cp1251)
Путь к пункту можно взять нажав на ссылку правой кнопкой мышки и выбирая пункт контекстного меню свойства.



Отредактировано doza_and (Май 15, 2013 20:39:37)

Офлайн

#3 Май 16, 2013 07:22:44

Red_baron
Зарегистрирован: 2012-08-30
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Открытие chm-файла на нужной странице

doza_and
Путь к пункту можно взять нажав на ссылку правой кнопкой мышки и выбирая пункт контекстного меню свойства.

Спасибо, сейчас попробую subprocess. Как получить ссылку на нужную страницу, я знаю.

Офлайн

#4 Май 16, 2013 07:43:56

Red_baron
Зарегистрирован: 2012-08-30
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Открытие chm-файла на нужной странице

Получилось:

import subprocess
subprocess.call(r"hh.exe mk:@MSITStore:C:\Users\Владимир\Desktop\Разработка\TUBE2012\spravka.chm::/id_7.htm")

А каким образом отсоединиться от запущенного процесса? Иначе пока не закроешь chm-файл нельзя работать с основной программой.

Отредактировано Red_baron (Май 16, 2013 07:44:33)

Офлайн

#5 Май 16, 2013 19:07:05

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Открытие chm-файла на нужной странице

вместо

subprocess.check_call
subprocess.Popen



Офлайн

#6 Май 23, 2013 09:03:53

Red_baron
Зарегистрирован: 2012-08-30
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Открытие chm-файла на нужной странице

С subprocess.Popen получилось.
Но и с os.spawnv тоже. Оставляю на тот случай, если кому-то будет полезно.

#Путь к программе просмотрщику Windows
        path=r"C:\Windows\hh.exe"
        #Список аргументов
        args=list()
        #Путь к chm-файлу (у меня в той же папке, поэтому короткий)
        args.append(r'spravka.chm')
        #Второй параметр ссылка на страницу chm-файла
        code = 'spravka.chm::/id_7.htm'
        args.append(code)
        #Запускаем процесс
        os.spawnv(os.P_NOWAIT, path, args)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version