2017-10-31 5 views
0

Ich habe ein Python v3.6 Skript, das aus der Datenbank liest, die einige Daten mit chinesischen Schriftzeichen hat. Dieses Skript gibt einen Fehler, wenn ich es für die Ausführung von Mac Cron Job einplane; läuft jedoch gut, wenn es vom Terminal meines Mac aus ausgeführt wird.Python-Skript Fehler bei der Ausführung von Mac Cron-Job, aber nicht von Mac-Terminal

Haben Sie eine Idee, wenn wir ein Sprachpaket oder etwas aktivieren müssen, wenn wir Skript von Cron Job ausführen?

Crontab Befehl:

#*/2 * * * * /usr/local/bin/python3 /Users/admin/Documents/Scripts/wht/gbi.py >> test.txt 
+0

Aktualisieren Sie die Frage wi th der Fehler – Anuj

+0

Vielleicht ist es mit Python 2.x statt 3.6 – Anuj

+0

Ich habe den Pfad bis Python 3 in meinem Cron-Job-Befehl sowie –

Antwort

1

Lassen Sie uns diese Zeichen kodieren. Beispiel:

Sie sie nicht direkt verwenden im Quellcode:

SPECIAL_CHARS = u"aAàÀảẢãÃáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬ" 

Gebrauch Lassen Sie uns:

SPECIAL_CHARS = u'aA\xe0\xc0\u1ea3\u1ea2\xe3\xc3\xe1\xc1\u1ea1\u1ea0\u0103\u0102\u1eb1\u1eb0\u1eb3\u1eb2\u1eb5\u1eb4\u1eaf\u1eae\u1eb7\u1eb6\xe2\xc2\u1ea7\u1ea6\u1ea9\u1ea8\u1eab\u1eaa\u1ea5\u1ea4\u1ead\u1eac' 

Sie können String utf-8 kodieren und es verwenden normalerweise:

encoded_str = SPECIAL_CHARS.encode('utf-8') 

print(type(encoded_str)) 
print(encoded_str) 
+0

Oh, bekomme ich diese aus der Datenbank und weiß nicht vorher, was alle Charaktere dort sein werden. Gibt es eine API dafür? [Ich bin neu in Python :)] –

+0

@AkshayLokur: Ich habe die Antwort aktualisiert :) –

Verwandte Themen