Seite 1 von 1
Problem mit os.open (TypeError: an integer is required)
Verfasst: Freitag 8. August 2003, 16:56
von madgonzales
Hallo! Vielleicht weiss jemand, warum es bei mir plötzlich diese Fehlermeldung gibt! Danke!
CODE:
import os
f = os.open("E:\Unidad_2.txt","r")
FEHLERMELDUNG:
Traceback (most recent call last):
File "E:\pythonPrgs\dicMan\test.py", line 3, in -toplevel-
f = os.open("E:\Unidad_2.txt","r")
TypeError: an integer is required
Re: Problem mit os.open (TypeError: an integer is required)
Verfasst: Freitag 8. August 2003, 17:43
von Voges
Hallo!
\U leitet eine Escape-Sequenz für 32-bit Unicode-Zeichen ein. Auf \U müssen noch 8 Ziffern folgen. Deswegen die Fehlermeldung, dass ein Integer erwartet wird.
2 Möglichkeiten:
- Du nutzt die Escape-Sequenz für das Backslash, nämlich "\\": "E:\\Unidad_2.txt"
- Du benutzt einfach ein Slash (sollte gehen): "E:/Unidad_2.txt"
Raw-Strings (r"E:\Unidad_2.txt") wären noch möglich, sollten aber nicht für Pfade verwendet werden, sondern eher nur für reguläre Ausdrücke.
Jan
Verfasst: Freitag 8. August 2003, 17:52
von hans
Ooops, Voges war viel schneller als ich.
Anmerkung zu os.open() aus der Doku
Note: this function is intended for low-level I/O. For normal usage, use the built-in function open(), which returns a ``file object'' with read() and write() methods (and many more).
Hans
Verfasst: Freitag 8. August 2003, 18:14
von madgonzales
Danke Ihr beiden! Super schnelle Hilfe!
Die Tipps von Voges haben bei mir nicht gefruchtet, aber der Zitat-Hinweis von hans hat's gebracht. Habe open() anstelle von os.open() verwendet und damit geht's.
Und hier auch gleich der Hinweis für ein weiteres Problem, dass sich dabei ergeben könnte: Benutzt man "from os import *" anstelle von "import os", dann wird das "open()" als "os.open()" interpretiert und das Problem bleibt..
Verfasst: Freitag 8. August 2003, 19:07
von Voges
Hallo!
madgonzales hat geschrieben:Die Tipps von Voges haben bei mir nicht gefruchtet,
Tatsächlich, stimmt. Was ich zu \U ist zwar richtig, hatte aber nichts mit der Fehlermeldung zu tun. Thema verfehlt
madgonzales hat geschrieben:Benutzt man "from os import *" anstelle von "import os", dann wird das "open()" als "os.open()" interpretiert und das Problem bleibt.
Das
from bla import * sollte man möglichst vermeiden, auch wenn es verlockend ist.
Jan