4 Stimmen

Wenn ich aus einer Datei lese und sie dann wieder ausschreibe, erhalte ich chinesische Zeichen

Ich lese alle Zeilen in einer Datei und schreibe sie dann wieder aus. Wenn ich dies tue, besteht die Datei, die ich geschrieben habe, hauptsächlich aus chinesischen Zeichen. Ich ändere überhaupt keine der Zeilen. Dies ist mein Python-Code:

#test.py
import os, sys, time
import getopt

if __name__=='__main__':
    testFile = None
    try:
        optlist, args = getopt.getopt(sys.argv[1:],"",["file="])
    except Exception, e:
        print e
        sys.exit(1)
    for opt, arg in optlist:
        if opt == '--file':
            testFile = arg.strip()

    print testFile
    if os.path.isfile(testFile):
        f = open(testFile, 'r')
        lines = f.readlines()
        f.close()
        f = open(testFile, 'w')
        for line in lines:
            f.write(line)
        f.close()

Dies ist die Originaldatei, mit der ich diesen Code teste:

param($Identity = "")

if($_INITIALIZATION_isLoaded -ne $true){
    #load initialization script
    . ((split-path -parent $myInvocation.InvocationName) + "\stuff.ps1")
}

Nachdem meine Datei geschrieben wurde, ist dies der Inhalt der Datei:

param($Identity = "")

 #load initialization script

}

Meine Befehlszeilenanweisung zur Ausführung meines Python-Skripts lautet:

python test.py --file="test.txt"

Ich tue dies mit Python 2.7 auf Windows 7. Was ist die Ursache und wie kann ich das Problem beheben? Danke!

Edita:

Wenn ich eine print lines in meinem Skript, erhalte ich dies:

['\xfe\xff\x00p\x00a\x00r\x00a\x00m\x00(\x00$\x00I\x00d\x00e\x00n\x00t\x00i\x00t\x00y\x00 \x00=\x00 \x00"\x00"\x00)\x00\r\x00\n', '\x00\r\x00\n', '\x00\r\x00\n'
, '\x00i\x00f\x00(\x00$\x00_\x00I\x00N\x00I\x00T\x00I\x00A\x00L\x00I\x00Z\x00A\x00T\x00I\x00O\x00N\x00_\x00i\x00s\x00L\x00o\x00a\x00d\x00e\x00d\x00 \x00-\x00n\x
00e\x00 \x00$\x00t\x00r\x00u\x00e\x00)\x00{\x00\r\x00\n', '\x00\t\x00#\x00l\x00o\x00a\x00d\x00 \x00i\x00n\x00i\x00t\x00i\x00a\x00l\x00i\x00z\x00a\x00t\x00i\x00o
\x00n\x00 \x00s\x00c\x00r\x00i\x00p\x00t\x00\r\x00\n', '\x00\t\x00.\x00 \x00(\x00(\x00s\x00p\x00l\x00i\x00t\x00-\x00p\x00a\x00t\x00h\x00 \x00-\x00p\x00a\x00r\x0
0e\x00n\x00t\x00 \x00$\x00m\x00y\x00I\x00n\x00v\x00o\x00c\x00a\x00t\x00i\x00o\x00n\x00.\x00I\x00n\x00v\x00o\x00c\x00a\x00t\x00i\x00o\x00n\x00N\x00a\x00m\x00e\x0
0)\x00 \x00+\x00 \x00"\x00\\\x00s\x00t\x00u\x00f\x00f\x00.\x00p\x00s\x001\x00"\x00)\x00\r\x00\n', '\x00}\x00\r\x00\n']

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X