Fehler unterdrücken?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
N17R0
User
Beiträge: 53
Registriert: Samstag 6. März 2004, 23:41

Fehler unterdrücken?

Beitragvon N17R0 » Samstag 28. August 2004, 15:43

Hallo,
also es geht darum, dass ich eine url datei öffnen möchte, aber immer kommt:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:/Programme/Python/startfile.py", line 2, in -toplevel-
    os.startfile('C:/downloads/ru.url')
WindowsError: [Errno 2] Das System kann die angegebene Datei nicht finden: 'C:/downloads/ru.url'


vom Prinzip her nicht schlimm, weil er das File trotzdem öffnet und denn man eine URL von Windows aus (mit Doppelklick) öffnet kommt auch vom Inhalt die gleiche Meldung. Aber ich wollt eigentlich wissen, ob es möglich ist, dass der Fehler nicht angezeigt wird, aber das File trotzdem geöffnet wird.
Benutzeravatar
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Beitragvon hans » Samstag 28. August 2004, 17:08

Ich muß nocheinmal nachfragen. Wenn du im Explorer einen Doppeklick auf besagte Datei machst, dann bekommst du auch eine Fehlermeldung? Wenn ja, dann lass dir nicht einreden dass das kein Bug sondern ein Feature sei. Vielleicht stimmen in dem Fall deine Dateiverknüpfungen nicht.

Hans
N17R0
User
Beiträge: 53
Registriert: Samstag 6. März 2004, 23:41

Beitragvon N17R0 » Samstag 28. August 2004, 17:11

es geht um die url datein vom IE. also die favorieten. sorry, falls ich mich falsch ausgedrückt hab. um im normalfall öffnet man die ja mit'm IE, aber denn man die im explorer öffnet, kriegt man ne Fehlermeldung.
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Beitragvon Milan » Samstag 28. August 2004, 17:39

Hi. Das letztere hättest du mal besser oben hingeschrieben, ich hab mich nämlich schon gewundert was du amchen wolltest: eine scheinbar nicht existierende Datei ohne Fehler im IE öffnen und ... :wink:

Nun ja. Erstens: .url Dateien sind normalerweise verknüpft mit dem IE, aber das kann ja verstellt wurden sein... dann funktioniert das öffnen aus dem Explorer nicht. Das ist aber eine Einstellungsfrage und hat mit Python wenig zu tun.
Zweitens: laut Fehlermeldung existiert die Datei ja nicht. Bist du sicher, dass der Pfad stimmt?
Drittens: Würde ich das nicht über startfile machen. Das ruft zwar bei richtig eingestellter Dateiverknüpfung das richtige Programm auf, aber verlass dich da nicht drauf. Du kannst einen Fehler ja ganz einfach mit try-except abfangen, wenn er denn nur Python begründet ist.
Viertens: Würde ich sichergehen, dass Windows den Fehler verursacht und hier lieber die Datei öffnen, die Adresse auslesen und dann die URL öffnen lassen:

Code: Alles auswählen

import re,webbroser
f=file("C:/downloads/ru.url","r")
webbrowser.open_new(re.compile("\[InternetShortcut\]\nURL=([^\n\Z]*)(?:\n|\Z)",re.I).findall(f.read()))
f.close()
N17R0
User
Beiträge: 53
Registriert: Samstag 6. März 2004, 23:41

Beitragvon N17R0 » Samstag 28. August 2004, 17:48

also zu
2.: ja, die datei ist vorhanden, er öffnet sie ja auch mit dem eingestelltem browser, aber eben mit der fehler meldung
3.: danke, werd ich mal probieren. dann

Code: Alles auswählen

except WindowsError: pass

nichwa?
4.: da krieg ich nur

Code: Alles auswählen

Traceback (most recent call last):
  File "C:/Programme/Python/urlbrowser.py", line 4, in -toplevel-
    webbrowser.open_new(re.compile("[InternetShortcut]([^\n\Z]*)(?:\n|\Z)",re.I).findall(f.read()))
  File "C:\PROGRA~1\Python\Lib\webbrowser.py", line 46, in open_new
    get().open(url, 1)
  File "C:\PROGRA~1\Python\Lib\webbrowser.py", line 250, in open
    os.startfile(url)
TypeError: startfile() argument 1 must be string, not list

zurück und außerdem hab ich keine ahnung, was du damit

Code: Alles auswählen

([^\n\Z]*)(?:\n|\Z)

machst.
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Beitragvon Milan » Samstag 28. August 2004, 17:56

Hi.

zu 3.) jo

zu 4.) ich les alle Zeichen bis zum Ende der Zeile bzw Ende des Strings aus. ([^\n\Z]*) sind alle Zeichen, die nicht die Zeile umbrechen, also eine Zeile und mit (?:\n|\Z) sag ich danach kommt nix mehr :wink: .
Aber hast recht, ich hab ein [0] vergessen:

Code: Alles auswählen

import re,webbrowser
f=file("C:/downloads/ru.url","r")
webbrowser.open_new(re.compile("\[InternetShortcut\]\nURL=([^\n\Z]*)(?:\n|\Z)",re.I).findall(f.read())[0])
f.close()

Alternativ gehts auch ohne re:

Code: Alles auswählen

import webbrowser
f=file("C:/downloads/ru.url","r")
for line in f:
    if line=="[InternetShortcut]\n":
        url=f.readline().split("=",1)[1].replace("\n","")
        break
f.close()
webbrowser.open_new(url)
Zuletzt geändert von Milan am Samstag 28. August 2004, 19:29, insgesamt 1-mal geändert.
N17R0
User
Beiträge: 53
Registriert: Samstag 6. März 2004, 23:41

Beitragvon N17R0 » Samstag 28. August 2004, 18:04

ok, also bei dem 1. gibt er genauso die gleiche fehlermeldung aus, funktioniert aber und das 2. läuft irgendwie garnich ^^ gibt auch nur ne fehlermeldung aus, geht aber nichma ;)

übrigens

Code: Alles auswählen

import browser

du hattest immer import broser geschrieben
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Samstag 28. August 2004, 18:13

und was für eine Fehlermeldung? Währ sicher hilfreich das zu wissen, könnte ja auch an Deiner Pythoninstallation was fehlerhaft sein oder du hast ein Modul mit dem Namen browser.py oder ...


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this
N17R0
User
Beiträge: 53
Registriert: Samstag 6. März 2004, 23:41

Beitragvon N17R0 » Samstag 28. August 2004, 18:17

Code: Alles auswählen

Traceback (most recent call last):
  File "C:/Programme/Python/urlbrowser.py", line 5, in -toplevel-
    url=f.readline().split("=",1)[1].replace("\n","")
IndexError: list index out of range


wenn man jetzt aus der [1] nen [0] macht, öffnet sich der ordner, wo python installiert is ^^
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Samstag 28. August 2004, 18:23

*.url Dateien scheinen so aufgebaut zu sein:

Code: Alles auswählen

name=http://www.bla.bla/

Das scheint aber in dem Fall nicht so zu sein?


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

Beitragvon DER Olf » Samstag 28. August 2004, 18:37

afaik lassen sich doch .url dateien _nur_ vom IE öffnen, da kann also nix verstellt sein ;)

mozilla o. opera würde doch sicher einen fehler ausgeben, oder?

mfg Olf
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Beitragvon Milan » Samstag 28. August 2004, 19:31

HI.
@olf: nein, mein Opera zickt da nicht rum und höhrt da brav drauf. Am besten wäre es, den INhalt der besagten Datei mal genau zu kennen. Eine ".url" - Favoritendatei sieht z.B. so aus, wobei [InternetShortcut] immer definiert sein sollte.

Code: Alles auswählen

[DEFAULT]
BASEURL=http://www.uni-bayreuth.de/departments/didaktikchemie/umat/silicatstrukturen1/silicat1.htm

[InternetShortcut]
URL=http://www.uni-bayreuth.de/departments/didaktikchemie/umat/silicatstrukturen1/silicat1.htm
Modified=E066D9C58709C30138


@Dookie: da scheinst du recht zu haben...
mfg Milan
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

Beitragvon DER Olf » Samstag 28. August 2004, 20:32

oh...jetzt ist mein Weltbild zerstört...

mit mozilla hab ichs irgendwie nicht hinbekommen, und selbst mit dem Notepad ließen sich diese Dateien nicht öffnen.

@N17R0: hattest du die möglichkeit auf nem anderen system zu testen?
ob da der fehler auch kommt?

mfg Olf
N17R0
User
Beiträge: 53
Registriert: Samstag 6. März 2004, 23:41

Beitragvon N17R0 » Samstag 28. August 2004, 22:13

Ne, leider nicht. ich meine ist ja nicht so schlimm, mit try & except funktionierts ja, aber find den Fehler schon irgendwie komisch.

interessant wär für mich noch, wie sich der Wert von "Modified" errechnen lässt. weiß da jemand was oder ist das immer das gleiche?
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

Beitragvon DER Olf » Samstag 28. August 2004, 23:09

was meinst du jetzt mit Modified?

mfg Olf

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder