Python-code zu Bild öffnen im browser?
Möchte ich öffnen Sie ein Bild im Standard-browser mit Python. Ich dachte, es könnte so einfach sein wie
webbrowser.open(path_to_file)
, aber auf XP zumindest, öffnet sich die Windows Bild-und Fax Viewer statt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, es sollte so einfach sein (meiner Meinung nach), aber das problem ist, wie das webbrowser-Modul legt den Standard-browser auf Windows. Weil dieses, wenn Sie in
was heißt dann ist
welche funktioniert gut für url ' s, aber für Dateien, es verwendet die Windows Bild-und Fax-Viewer, es sei denn, Sie verbunden haben einige andere Programm mit der Bild-Datei-Typ. Im Grunde, wenn Sie den webbrowser.get () - Befehl, um eine tatsächliche browser-es wird gut werden. Hier ist ein Weg, es zu tun mit internet explorer auf Windows (was aufgebaut wurde, im webbrowser-Modul die am schwersten zu bekommen) :
anderen wie firefox sind leichter zu bekommen:
Dies ist eine etwas schwierige Frage zu beantworten, mit den aktuellen Informationen. Es wäre hilfreich, wenn Sie klären könnten, welchen browser Sie verwenden und welches Bild-format, die Sie versuchen, anzuzeigen.
Ohne diese information kann ich Folgendes bieten:
Hier gehe ich davon aus, dass Sie mit einem Firefox-browser und ein jpg Bild.
Diese funktioniert auf meinem WinXP system.
Nun, den code zu erklären. die
os
- Modul in python hat einige nette Betriebssystem-tools.os.system
führt die Eingabe-Zeichenkette als Befehl genauso, als würden Sie, wenn Sie versucht, dies zu tun von cmd.Firefox kann nicht Bestandteil der path-Variablen und kann daher müssen aufgerufen werden, von wo Sie lebt. Dies ist der Grund, warum ich haben "C:\\Progam Dateien...".
Werden Sie feststellen, dass ich zwei Sätze von doppelten Anführungszeichen in der Eingabe-parameter zu
os.system
Dies ist, weil der Pfad zu firefox und dein jpg kann Leerzeichen und der Windows-Befehlszeile ist aufgeregt diese.Darüber hinaus werden Sie möglicherweise feststellen, dass es Doppel-backslashes in Anführungszeichen zu setzen. Dies ist, weil in Python, ein backslash ist ein escape-Zeichen und wird verwendet, um die spezielle Bedeutung des folgenden Zeichens (z.B. "\t" Tabulator, etc). Daher, um eine tatsächliche umgekehrten Schrägstrich, die wir brauchen, um zu entkommen die Flucht Art der backslash und die "\\".
Aussieht, dass insbesondere die installation von Windows festgelegt ist, verwenden Sie das viewer-Programm als "Standard-browser" (für Informationen mit diesen Inhalten geben, mindestens). Um zu überprüfen, was passiert, wenn (in Windows'
cmd.exe
- Eingabeaufforderung) geben Siestart path_to_file
?Wenn dieser bestätigt, dass dies tatsächlich der installation die Wahl, dann, wenn Sie möchten, um die Datei zu öffnen mit einem anderen Programm, dann kann man nicht gleichzeitig wollen, um die Standard-browser für die installation (da, die Zuschauer, die dich anscheinend nicht wollen, zu öffnen, zu ist als Standard-browser für die Datei-noch-so müssen Sie sich öffnen wollen einige anderen browser statt den Standard!).
Wenn das tatsächlich der Fall sein, empfehle ich versuchen webbrowser.erhalten um die Steuerung für den browser mit dem angegebenen Namen (z.B. versuchen
c = webbrowser.get('windows-default')
-- oder, wenn Sie, was durchaus möglich ist, reproduziert das Verhalten, das Sie nicht wollen, versuchenget('firefox')
statt), dannc.open(path_to_file)
zum öffnen der Datei in Frage stellen.