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']