www.elektronik.si
Python2 : Python 3

www.elektronik.si -> Raspberry Pi sekcija

Avtor: vilkoKraj: Dragomer PrispevekObjavljeno: Pon Dec 02, 2019 1:00 pm    Naslov sporočila:  Python2 : Python 3
----------------------------------------------------------------------------
Živijo!


Obstajata dve verziji Pythona, 2 in 3.
Na PC-u sem delal in se učil na Pythonu 3, ki se pa na raspberrypieu obnaša drugače.
Trenutno me muči print funkcija v RPI Pythonu 3

V pythonu 2 mi program dela, v pythonu 3 pa mi ne izpiše pravilno.

Primer Python 2
print x v pythonu 2 print ni funkcija zato so argumenti (x) brez oklepaja
$,0,191202 1142 PO V33,*7A
$,4,Raport,1,660,,*1F Atrij-luc
$,4,0sek,*55 Atrij-luc
leta izpiše lepo kot je treba: (x = string)

print (x) v Pythonu 3 pa poleg stringa izpiše še neke krmilne znake, ki jih ne maram
b' \r'
vem kaj pomenijo, a jih ne maram videt na izpisu.
imte kak aspirin?
b'$,7,Raport,1,660,Rolete Majda,*5A Majda \r'
b'$,7,okno,gor,vrata,gor,*42 Majda \r'
b'$,0,GSM OK SMS12BF 0001,*2A \r'

Avtor: airwolf PrispevekObjavljeno: Pon Dec 02, 2019 1:33 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Če dodaš .decode('UTF-8') je kaj bolje?

https://stackoverflow.com/questions/6269765/what-does-the-b-character-do-in-front-of-a-string-literal/6269785

Avtor: vilkoKraj: Dragomer PrispevekObjavljeno: Pon Dec 02, 2019 1:47 pm    Naslov sporočila:  
----------------------------------------------------------------------------
kakšna je sintaksa?

Avtor: vilkoKraj: Dragomer PrispevekObjavljeno: Pon Dec 02, 2019 1:51 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Sem dodal na začetki kode:

'\uFEFF'.encode('UTF-8')

Ni razlike

Avtor: vpeterKraj: Maribor okolica PrispevekObjavljeno: Pon Dec 02, 2019 3:03 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Uporabi argument end, ki namesto znaka za novo vrstico izpiše poljuben znak (ali sploh ničesar):
Koda:
print(x, end="")

Za več informacij beri o printf: https://docs.python.org/3/whatsnew/3.0.html

Avtor: vilkoKraj: Dragomer PrispevekObjavljeno: Pon Dec 02, 2019 9:38 pm    Naslov sporočila:  
----------------------------------------------------------------------------
po večih posvetovanjih sem ugotovil:

string je potrebno predelati. Vse skupaj izgleda tako:

Recimo, da imamo v stringu x vsebino, ki mi nagaja:
y = x.decode('utf-8')
print (y)

in potem izginejo nezaželjeni znaki

Stran 1 od 1

Powered by phpBB © 2001,2002 phpBB Group