Hi leute,
bin neu hier, hab da mal eine Frage.
kann ich mit Python, viele Dateien gleichtzeitig öffnen?
Also nicht jedes einzeln
file1= open(datei1)
file2= open(datei2)
usw...
sondern einfach den Pfad geben und alle Textdatein zusammen lesen?
Hab sehr lang recherchiert es gibt da einen Modul. glob.
import glob
files = glob.glob("*.txt")
for f in files:
text = open(f)
for line in text.readlines():
line = line.rstrip("\n")
aber hier kommt bei mir immer eine Fehlermeldung....
bedanke mich...
Sharon
Neuling, viele Korpus öffnen.
Traceback (most recent call last):
File "C:\Users\Sharon\Desktop\programm.py", line 3, in <module>
import glob
File "C:\Users\Sharon\Desktop\glob.py", line 8, in <module>
argv[1] = glob.glob('*.py')
TypeError: 'module' object is not callable
File "C:\Users\Sharon\Desktop\programm.py", line 3, in <module>
import glob
File "C:\Users\Sharon\Desktop\glob.py", line 8, in <module>
argv[1] = glob.glob('*.py')
TypeError: 'module' object is not callable
@shuang: Du hast da auf dem Desktop eine `glob.py` rumliegen -- jetzt rate mal welches Modul Du da unter dem Namen `glob` importierst.
@shuang: Du importierst da das Modul `glob` auf dem Desktop statt dem `glob`-Modul aus der Standardbibliothek. Du musst das da auf dem Desktop löschen oder umbenennen. Inklusive eventueller Kompilate (`glob.pyc`).
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Du importierst einfach das falsche Modul! Bennene die Datei glob.py, die auf dem Desktop (oder allgemein im selben Verzeichnis wie Dein aufgerufenes Script) liegt einfach mal um.shuang hat geschrieben:versteh ich nicht ganz
Außerdem kann man über die Zeilen einer Datei direkt iterieren:
Code: Alles auswählen
for fname in glob.glob("*.txt"):
with open(fname, "r") as infile:
for line in infile:
print line
import glob
fname = "C://Users/Sharon/Desktop/Korpus/"
for fname in glob.glob("*.txt"):
with open(fname, "r") as infile:
for line in infile:
print line
Resultat:
Traceback (most recent call last):
File "C:/Users/Sharon/Desktop/pythonas.py", line 1, in <module>
import glob
File "C:/Users/Sharon/Desktop\glob.py", line 8, in <module>
argv[1] = glob.glob('*.py')
TypeError: 'module' object is not callable
fname = "C://Users/Sharon/Desktop/Korpus/"
for fname in glob.glob("*.txt"):
with open(fname, "r") as infile:
for line in infile:
print line
Resultat:
Traceback (most recent call last):
File "C:/Users/Sharon/Desktop/pythonas.py", line 1, in <module>
import glob
File "C:/Users/Sharon/Desktop\glob.py", line 8, in <module>
argv[1] = glob.glob('*.py')
TypeError: 'module' object is not callable
Meine Herren , ich mache da was falsch ))))))))))))))
Ich habe auf dem Desktop einen Ordner, mit vielen .txt Dateien, ich möchte Sie alle auf einmal einlesen lassen.
Wenn ich den Code hier unten eingebe. Komme ich nicht zum Ziel....leider
Ich habe auf dem Desktop einen Ordner, mit vielen .txt Dateien, ich möchte Sie alle auf einmal einlesen lassen.
Wenn ich den Code hier unten eingebe. Komme ich nicht zum Ziel....leider
Code: Alles auswählen
import glob
fname = "C://Users/Sharon/Desktop/Korpus/"
for fname in glob.glob("*.txt"):
with open(fname, "r") as infile:
for line in infile:
print line
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Dein ganzes Posting hier ist für den *****! Sorry, auch wenn Du hier Neuling bist, bemühe Dich doch mal die Forum-Regeln zu lesen. Dann würdest Du wissen, dass es hier code-Tags gibt, die den Code nach Python-Manier setzen - ohne die Einrückungen bringt einem der Code herzlich wenig! Schließlich solltest auch Du wissen, dass es bei Python auf die Einrückung ankommt.shuang hat geschrieben:import glob
fname = "C://Users/Sharon/Desktop/Korpus/"
for fname in glob.glob("*.txt"):
with open(fname, "r") as infile:
for line in infile:
print line
Resultat:
Traceback (most recent call last):
File "C:/Users/Sharon/Desktop/pythonas.py", line 1, in <module>
import glob
File "C:/Users/Sharon/Desktop\glob.py", line 8, in <module>
argv[1] = glob.glob('*.py')
TypeError: 'module' object is not callable
Was soll das Posting eigentlich aussagen? Vermutlich, dass Du trotzdem diesen Fehler bekommst - aber das kann man auch EXPLIZIT erwähnen und nach einer Lösung fragen! (z.B. "Ich habe jetzt alles so umgesetzt, wie ihr das gesagt habt und bekomme nun diesen Fehler...")
So müssen wir uns das selber denken; das ist für eine konstruktive Antwort eher schlecht! Schließlich willst DU Hilfe und solltest UNS motivieren, Dir zu helfen. Durch Kommentar lose Postings in denen nur Code und Fehlermeldungen hingeklatscht werden, lockst Du hier sicherlich weniger hilfsbereite Menschen an...
Als Antwort darauf kann man locker sagen: Lies doch mal die Postings genau durch! Du solltest die Datei glob.py umbennen, löschen oder sonst wie vernichten. Du importierst - wie auch schon erwähnt - nicht das Modul glob, sondern diese eigene glob.py Datei.
Wenn Du Sprachschwierigkeiten hast, dann musst Du Dich eben doppelt bemühen, das hier Geschriebene zu verstehen. Das sage ich "meinen" Chinesen auch jedes Semester aufs neue...
Meine Herren , ich mache da was falsch )))))))))))))
Ich habe auf dem Desktop einen Ordner, mit vielen .txt Dateien, ich möchte Sie alle auf einmal einlesen lassen.
Wenn ich den Code hier unten eingebe. Komme ich nicht zum Ziel....leider
Damit auch alles schön lustig bleibt hier ein Spruch :
Gibts Dich auch in intelligent? Du hast einen IQ von 6... bei 8 grunzt die Sau!
Ich habe auf dem Desktop einen Ordner, mit vielen .txt Dateien, ich möchte Sie alle auf einmal einlesen lassen.
Wenn ich den Code hier unten eingebe. Komme ich nicht zum Ziel....leider
Code: Alles auswählen
import glob
fname = "C://Users/Sharon/Desktop/Korpus/"
for fname in glob.glob("*.txt"):
with open(fname, "r") as infile:
for line in infile:
print line
Damit auch alles schön lustig bleibt hier ein Spruch :
Gibts Dich auch in intelligent? Du hast einen IQ von 6... bei 8 grunzt die Sau!
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Und Du glaubst durch das sinnlose erneute Posten desselben Postings (nun schon das dritte seiner ARt) bekommst Du schneller Hilfe?
Es wurde doch nun schon doppelt und dreifach gesagt, wo das Problem liegt. Also frage konkret nach, was Du an den Antworten nicht verstehst oder lies sie dir noch mal genau durch!
Es wurde doch nun schon doppelt und dreifach gesagt, wo das Problem liegt. Also frage konkret nach, was Du an den Antworten nicht verstehst oder lies sie dir noch mal genau durch!
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Bei dem Thread-Verlauf wissen wir ja alle, wer die 6 hat...shuang hat geschrieben: Damit auch alles schön lustig bleibt hier ein Spruch :
Gibts Dich auch in intelligent? Du hast einen IQ von 6... bei 8 grunzt die Sau!
Ich möchte einfach nur wissen, wieso mein Ordner= Korpus
nicht eingelesen wird.
Ich möchte doch einfach nur die Textdateien im Ordner Korpus auf dem Desktop einlesen lassen, sonst nichts.
Wenn ich das ganze über die Eingabeaufforderung durchführe, bekomme ich eine txt datei aus dem Eigene Dateien Ordner aufgelistet. Obwohl ich doch den genauen Pfad auf meinem Desktop zeige.
nicht eingelesen wird.
Ich möchte doch einfach nur die Textdateien im Ordner Korpus auf dem Desktop einlesen lassen, sonst nichts.
Wenn ich das ganze über die Eingabeaufforderung durchführe, bekomme ich eine txt datei aus dem Eigene Dateien Ordner aufgelistet. Obwohl ich doch den genauen Pfad auf meinem Desktop zeige.
Kenne glob zwar nicht aber das sollte funtkionieren:shuang hat geschrieben:Ich möchte einfach nur wissen, wieso mein Ordner= Korpus
nicht eingelesen wird.
Ich möchte doch einfach nur die Textdateien im Ordner Korpus auf dem Desktop einlesen lassen, sonst nichts.
Wenn ich das ganze über die Eingabeaufforderung durchführe, bekomme ich eine txt datei aus dem Eigene Dateien Ordner aufgelistet. Obwohl ich doch den genauen Pfad auf meinem Desktop zeige.
Code: Alles auswählen
import glob, os
path = "C:\\Users\Sharon\Desktop\Korpus"
for fname in glob.glob("*.txt"):
with open(os.path.join(path, fname), "r") as infile:
for line in infile:
print line
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
;-)
Also, wenn ich das genauso in der Form eingebe, liest er die Textdateien ein, jedoch kann ich die Worte in den Textdateien nicht zählen lassen.
Für jede einzelne Textdatei > Zahl der Worte.
Für jede einzelne Textdatei > Zahl der Worte.
Code: Alles auswählen
import glob
count=0
for fname in glob.glob("C://**/**/Desktop/Korpus/*.txt"):
with open(fname, "r") as infile:
for line in infile:
for word in line:
count+= 1
print line
shuang hat geschrieben:Also, wenn ich das genauso in der Form eingebe, liest er die Textdateien ein, jedoch kann ich die Worte in den Textdateien nicht zählen lassen.
Für jede einzelne Textdatei > Zahl der Worte.
Code: Alles auswählen
import glob count=0 for fname in glob.glob("C://**/**/Desktop/Korpus/*.txt"): with open(fname, "r") as infile: for line in infile: for word in line: count+= 1 print line
Code: Alles auswählen
import glob
count=0
for fname in glob.glob("C://**/**/Desktop/Korpus/*.txt"):
with open(fname, "r") as infile:
for line in infile:
for word in line.split():
count+= 1
print line
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
;-)