Sida 1 av 1

ÅÄÖ i Python? LÖST

Postat: 25 mars 2015, 11:13:04
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?

Re: ÅÄÖ i Python?

Postat: 25 mars 2015, 11:18:25
av johano
lägg in # -*- coding: utf-8 -*- överst i filen:

Kod: Markera allt

# -*- coding: utf-8 -*-
print "räksmörgås"
/johan

Re: ÅÄÖ i Python?

Postat: 25 mars 2015, 11:24:58
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
>>> 

Re: ÅÄÖ i Python?

Postat: 25 mars 2015, 11:31:20
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

Re: ÅÄÖ i Python?

Postat: 25 mars 2015, 11:41:35
av sodjan

Kod: Markera allt

>>> import sys
>>> print sys.stdin.encoding
ASCII
>>> 
Aja, det var ju inte jag som frågade...

Re: ÅÄÖ i Python? LÖST

Postat: 25 mars 2015, 12:13:23
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

Re: ÅÄÖ i Python?

Postat: 25 mars 2015, 12:33:27
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/

Re: ÅÄÖ i Python? LÖST

Postat: 29 april 2015, 20:39:52
av RoPa
@Sodjan, "[DECC] on OpenVMS" , respect man!

Re: ÅÄÖ i Python? LÖST

Postat: 24 juni 2015, 13:37:00
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 -*-