ÅÄÖ i Python? LÖST

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Gorgus
Inlägg: 2018
Blev medlem: 24 april 2006, 22:42:42
Ort: Eskilstuna
Kontakt:

ÅÄÖ i Python? LÖST

Inlägg av Gorgus »

Hur gör man bäst för att använda svenska tecken när man vill kommentera i Python?

Skriver man "ÅÄÖ" nu så klagas det på att det inte är ASCII-tecken och körningen avbryts. Det nämns också att man kan ställa "encoding" men det har jag inte fått kläm på.

Hjälp, snälla?
Senast redigerad av Gorgus 25 mars 2015, 18:10:08, redigerad totalt 1 gång.
johano
Inlägg: 1943
Blev medlem: 22 januari 2008, 10:07:45
Ort: Stockholm

Re: ÅÄÖ i Python?

Inlägg av johano »

lägg in # -*- coding: utf-8 -*- överst i filen:

Kod: Markera allt

# -*- coding: utf-8 -*-
print "räksmörgås"
/johan
sodjan
EF Sponsor
Inlägg: 43245
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: ÅÄÖ i Python?

Inlägg av sodjan »

Jag antar att det även beror lite på den aktuella Python miljön...

Kod: Markera allt

$ python
Python 2.7.8 (default, Oct 31 2014, 14:12:12) [DECC] on OpenVMS
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> print "räksmörgås"
räksmörgås
>>> 
johano
Inlägg: 1943
Blev medlem: 22 januari 2008, 10:07:45
Ort: Stockholm

Re: ÅÄÖ i Python?

Inlägg av johano »

Att det funkar med stdin beror förmodligen på att den strömmen _är_ utf-8 encodad..
Testa med print sys.stdin.encoding så ser du.

Kod: Markera allt

Python 2.7.8 (v2.7.8:ee879c0ffa11, Jun 29 2014, 21:07:35) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print sys.stdin.encoding
UTF-8
>>> 

/johan
sodjan
EF Sponsor
Inlägg: 43245
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: ÅÄÖ i Python?

Inlägg av sodjan »

Kod: Markera allt

>>> import sys
>>> print sys.stdin.encoding
ASCII
>>> 
Aja, det var ju inte jag som frågade...
Användarvisningsbild
Gorgus
Inlägg: 2018
Blev medlem: 24 april 2006, 22:42:42
Ort: Eskilstuna
Kontakt:

Re: ÅÄÖ i Python? LÖST

Inlägg av Gorgus »

Ah, det är det ska se ut. Tack.
johano skrev:lägg in # -*- coding: utf-8 -*- överst i filen:

Kod: Markera allt

# -*- coding: utf-8 -*-
print "räksmörgås"
/johan
sodjan
EF Sponsor
Inlägg: 43245
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: ÅÄÖ i Python?

Inlägg av sodjan »

Tänkte på en sak. UTF-8 är ju en 1-4 bytes encoding.
I mitt fall är det alltid single byte 8-bit ASCII. Så åäöÅÄÖ
är inte UTF-8 kodat utan bara i "höga halvan" av ASCII.

https://www.python.org/dev/peps/pep-0263/
RoPa
Inlägg: 630
Blev medlem: 13 januari 2006, 10:32:06

Re: ÅÄÖ i Python? LÖST

Inlägg av RoPa »

@Sodjan, "[DECC] on OpenVMS" , respect man!
Användarvisningsbild
007sweden
Inlägg: 3500
Blev medlem: 3 mars 2005, 20:18:12
Skype: oo7sweden

Re: ÅÄÖ i Python? LÖST

Inlägg av 007sweden »

Ta som vana att alltid ha koden nedan längst upp i dina Python-filer, detta ger även kompatibilitet med linux (Att köra python-filen som en exekverbar fil utan att köra "python script.py" utan istället bara "./script.py")

Kod: Markera allt

#!/usr/bin/env python
# -*- coding: utf-8 -*-
Skriv svar