Python: Traceback-codecs.charmap_decode(input,selbst.Fehler,decoding_table)[0]

Folgende code ist Beispielcode, Ziel ist nur zu Zusammenführungen von text-Dateien aus geben-Ordner und sub-Ordner. ich bin immer Traceback gelegentlich nicht so sicher, wo um zu schauen. auch brauchen etwas Hilfe, um zu verbessern den code, um zu verhindern, dass leere Zeile wird merge & display keine Linien zusammengeführt/master-Datei. Wahrscheinlich ist es eine gute Idee, vor dem Zusammenführen der Datei, etwas Aufräumen sollten, durchgeführt oder einfach nur ignoriert leere Zeile während der merging-Prozess.

Text-Datei im Ordner nicht mehr als 1000 Zeilen, sondern Aggregat master-Datei konnte von cross 10000+ Zeilen sehr leicht.

import os
root = 'C:\\Dropbox\\ans7i\\'
files = [(path,f) for path,_,file_list in os.walk(root) for f in file_list]
out_file = open('C:\\Dropbox\\Python\\master.txt','w')
for path,f_name in files:
    in_file = open('%s/%s'%(path,f_name), 'r')

    # write out root/path/to/file (space) file_contents
    for line in in_file:
        out_file.write('%s/%s %s'%(path,f_name,line))
    in_file.close()

    # enter new line after each file
    out_file.write('\n')

with open('master.txt', 'r') as f:
  lines = f.readlines()
with open('master.txt', 'w') as f:
  f.write("".join(L for L in lines if L.strip())) 



Traceback (most recent call last):
  File "C:\Dropbox\Python\master.py", line 9, in <module> for line in in_file:
  File "C:\PYTHON32\LIB\encodings\cp1252.py", line  23, in decode return codecs.charmap_decode(input,self.errors,decoding_table)[0]  
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 972: character maps to <undefined>  
Tritt der Fehler wirklich auftreten, in for line in in_file? Ich vermute, es ist die Zeile danach, aber nicht wirklich sicher. Können Sie testen, ob Python läuft in die Schleife?
es ist die Linie, die traceback ist ganz klar. Während des Lesens der Datei ein Fehler ausgegeben.
aber ein UnicodeDecodeError? Komisch.
es ist nicht komisch überhaupt, python 3 decodiert text-Dateien automatisch.
ahhh, Python 3. Okay dann.

InformationsquelleAutor user1582596 | 2012-08-31

Schreibe einen Kommentar