[Python-de] Textdatei auslesen

Dinu C. Gherman gherman at darwin.in-berlin.de
Sun Mar 7 13:28:40 EST 1999


Dominik Erger wrote:
> 
> Folgenden Code habe ich ausprobiert:
> 
> argv.append('C:\\RD-M.TXT')
> line = open(argv[1], 'r').readlines()
> open(argv[1], 'r').close()
> 
> Beim Ausführen kommt es zu dieser Fehlermeldung:
>         line = open(argv[1], 'r').readlines()
>         TypeError: illegal argument type for built-in operation
> 
> Die Datei C:\RD-M.TXT existiert. Weiß jemand Rat ?

Leider schreibst Du nicht, wie Du zu dem argv kommst. Obiger 
code *allein* muesste schon in der ersten Zeile zu einem Name-
Error fuehren, weil man einem (noch) nicht-existenten Bezeichner
nichts anfuegen kann (in der Hoffnung, Python wird schon eine
leere Liste annehmen und erzeugen - tut es nicht). 

In jedem Fall muss das argv aus dem sys-Modul importiert werden
(und dann muss der neue Index stimmen). Folgender code funktio-
niert bei mir (mit drei Zeilen in der fraglichen Datei, je 'a',
'b' und 'c'):

C:\>python
Python 1.5.2b1 (#0, Dec 10 1998, 11:29:56) [MSC 32 bit (Intel)] on win32
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> 
>>> from sys import argv
>>> argv.append('C:\\tmp\\RD-M.TXT')
>>> argv
['', 'C:\\tmp\\RD-M.TXT']
>>> open(argv[-1], 'r').readlines()
['a\012', 'b\012', 'c\012']
>>> 

Und dann sollte man noch schoener schreiben (nicht die Datei
doppelt oeffnen...):

f = open(...)
f.close()

Gruss aus dem sonnigen Berlin (selten genug),

Dinu


PS: Uebrigens geht es auch mit  'C:\\tmp\RD-M.TXT', 
    allerdings wieder nicht mit 'C:\tmp\\RD-M.TXT':

      IOError: [Errno 2] No such file or directory: 
                         'C:\011mp\\RD-M.TXT'

    '\R' wird nämlich zu '\\R' exandiert, weil dafuer
    keine vordefinierte Semantik da ist. Unter DOS 
    muesste also 'C:\Tmp\RD-M.TXT' auch gehen...

    Schoene Fehlerquelle, gell?! ;-)

-- 
Dinu C. Gherman       :  Mit Berlin kannste mir jagen!
................................................................
LHS International AG  :  http://www.lhsgroup.com
8050 Zurich           :  http://www.zurich.ch
Switzerland           :  http://pgp.ai.mit.edu 
                      :  mobile://49.172.3060751





More information about the Python-de mailing list