2017-08-24 1 views
0

Ich habe dieses Stück Code in Python:Python Schreiben von Textdaten in einer Textdatei

def write_to_log_file(text): 
    with open ("C:\Users\Administrator\Desktop\log.txt",mode='w') as file: 
     file.write(text) 

jedoch, wenn ich diesen Code ausführen ich die folgende Störung erhalte:

line 13, in write_to_log_file 
    file.write(text) 
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 126: ordinal not in range(128) 
+0

Versuchen Sie, Ihre Unicode-Zeichenfolge als ASCII zu codieren: 'unicodeData.encode ('ascii', 'ignore')' – Mandy8055

+0

Bitte zeigen Sie einige von t Der Text, den du schreibst. Vor allem, welches Format der Text gerade hat. Ich erwarte, dass Ihr Text Unicode ist und als solcher anders behandelt werden muss. –

+0

Bitte überprüfen Sie die [Dokumentation] (https://docs.python.org/3/library/functions.html#open) auf der 'open'-Funktion und, unter Berücksichtigung der Fehlermeldung, die Sie erhalten haben, machen Sie eine fundierte Vermutung über welche zusätzliche Parameter, den Sie an "open" übergeben müssen. – ForceBru

Antwort

2

Reference

def write_to_log_file(text): 
    with open ("C:\Users\Administrator\Desktop\log.txt",mode='w') as file: 
     file.write(text.encode('utf8')) 
+0

Danke, dass das Problem gelöst! – ErezN

+1

Oder einfach 'öffnen (" file "," w ", encoding =" UTF8 ")'. – ForceBru

+0

@ErezN Ich bin froh, dass ich dir geholfen habe. Bitte markieren Sie diese Antwort als akzeptiert. – xtonousou

Verwandte Themen