OVH Cloud OVH Cloud

ouverture du webbrowser

10 réponses
Avatar
BrunoL
Bonjour,

Sous python 2.4 et windows XP
l'appel de

webbrowser.open('E:\\temp\\tempresult.svg')

M'ouvre bien le ficheir mais sous Wordpad. Ce qui correspond à
l'association fichier faite sous XP : .svg -> wordpad.

Comment faire pour que python ouvre corrcetement le webbrowser ?

Merci.

10 réponses

Avatar
Méta-MCI
Bonjour !


C'est sans doute parce que l'extension .SVG n'est pas associée à
Internet-Explorer.

Le plus simple, c'est d'installer un plug-in SVG pour IE.
Par exemple, celui d'Adobe, à partir de là :
http://www.adobe.com/svg/viewer/install
(l'install est en bas de la page)

La première fois, il faudra accepter la licence (gratuite). Sur certaines
installations, il faut redémarrer.
Ensuite, ton code devrait fonctionner.

Attention, toutefois, à des installations ultérieures de logiciels comme
InkScape ; par défaut, ce logiciel (libre) se définit comme
éditeur/visualiseur SVG par défaut. Ensuite, un code comme le tien lancerait
InkScape, au lieu de IE. Il suffira de ré-installer le plugin, pour régler
le problème.
L'adresse de inkscape (bon éditeur SVG libre) :
http://prdownloads.sourceforge.net/inkscape


@-salutations
--
Michel Claveau
Avatar
BrunoL
Bonjour !


C'est sans doute parce que l'extension .SVG n'est pas associée à
Internet-Explorer.
[...]


Effectivement en associant l'extension svg à firefox ça fonctionne mais
ma recherche est d'ouvrir sous python, le svg avec firefox quelque soit
l'applicatif associé à ce type de fichier sous XP.

Cela correspond au fait que générant du svg avec DIA j'y accéde plus
souvent avec wordpad pour le débugger qu'avec firefox pour le visualiser :-(

Et quand je veux le visualiser je passe par des modules python. D'où ma
demande qui réglerait tout mes besoins ;-)

Merci.

Avatar
Méta-MCI
Re !

Désolé, je peux te fournir un code qui fonctionnera avec I.E. ; mais je n'ai
rien pour FF...

As-tu essayé de lancer FF, avec le nom du fichier SVG en argument ? Avec
IE, il est possible de faire quelque chose comme :
"C:Program FilesInternet Exploreriexplore.exe" c:toto.svg

@+

MCI
Avatar
BrunoL
Re !

Désolé, je peux te fournir un code qui fonctionnera avec I.E. ; mais je n'ai
rien pour FF...

As-tu essayé de lancer FF, avec le nom du fichier SVG en argument ? Avec
IE, il est possible de faire quelque chose comme :
"C:Program FilesInternet Exploreriexplore.exe" c:toto.svg



A partir de cette idée j'ai remplacé :
#webbrowser.open(svgURL)

par :
from win32com.client import Dispatch
...
adresse="C:/Program Files/Mozilla Firefox/firefox.exe " + "" + svgURL + ""
fireFox = Dispatch("AutoItX3.Control")
fireFox.Run(adresse)

Ca fonctionne :-)
Mais y aurait pas plus simple ? webbrowser.open me plaisait bien.

Merci.

Avatar
yves
On Sat, 04 Mar 2006 19:26:17 +0100, BrunoL
wrote:

bonjour,

from win32com.client import Dispatch
...
adresse="C:/Program Files/Mozilla Firefox/firefox.exe " + "" + svgURL + ""
fireFox = Dispatch("AutoItX3.Control")
fireFox.Run(adresse)

Ca fonctionne :-)
Mais y aurait pas plus simple ? webbrowser.open me plaisait bien.


Il y a aussi simplement un truc du genre:

import os
os.system('C:/PROGRA~1/Mozill~1/firefox.exe "file:///C:/essai.svg"')

J'ai essayé de regarder le code de webbrowser.py, mais suis pas assez
fort.

Simplement,
webbrowser.open('E:temptempresult.svg')
est équivalent dans ton cas à
os.startfile('E:temptempresult.svg')

--
Yves

Avatar
BrunoL
On Sat, 04 Mar 2006 19:26:17 +0100, BrunoL
wrote:

bonjour,

from win32com.client import Dispatch

...
adresse="C:/Program Files/Mozilla Firefox/firefox.exe " + "" + svgURL + ""
fireFox = Dispatch("AutoItX3.Control")
fireFox.Run(adresse)

Ca fonctionne :-)
Mais y aurait pas plus simple ? webbrowser.open me plaisait bien.



Il y a aussi simplement un truc du genre:

import os
os.system('C:/PROGRA~1/Mozill~1/firefox.exe "file:///C:/essai.svg"')

...

Oui c'est bon, mais ça ouvre une fenêtre dos en arrière ;-(


Avatar
Michel Claveau
Bonsoir !

Il y a plein de possibilités, pour cette histoire de fenêtre.

Pour que la fenêtre DOS ne reste pas ouverte, tu peux toujours utiliser
la commande START, comme ça :

os.system('START "C:/Program Files/Mozilla/firefox.exe"
"file:///C:/essai.svg"')

(pas testé, mais le principe est bon, car START est "NOWAIT" par
défaut)



Sinon, il est aussi possible de jouer avec les options de CMD


Et, aussi, on peut passer par popen

Etc.


--
@-salutations

Michel Claveau
Avatar
BrunoL
Bonsoir !

Il y a plein de possibilités, pour cette histoire de fenêtre.

Pour que la fenêtre DOS ne reste pas ouverte, tu peux toujours utiliser
la commande START, comme ça :

os.system('START "C:/Program Files/Mozilla/firefox.exe"
"file:///C:/essai.svg"')

(pas testé, mais le principe est bon, car START est "NOWAIT" par défaut)



Sinon, il est aussi possible de jouer avec les options de CMD


Et, aussi, on peut passer par popen

Etc.




Avatar
BrunoL
Bonsoir !

Il y a plein de possibilités, pour cette histoire de fenêtre.

Pour que la fenêtre DOS ne reste pas ouverte, tu peux toujours utiliser
la commande START, comme ça :

os.system('START "C:/Program Files/Mozilla/firefox.exe"
"file:///C:/essai.svg"')

(pas testé, mais le principe est bon, car START est "NOWAIT" par défaut)



Exactement ce que je cherchais.

Merci.

Avatar
MC
Salut !

Merci.
De rien, je suis déjà bien heureux de savoir que j'ai pu être utile.




--
@-salutations

Michel Claveau