f00b Skrevet 25. august 2007 Del Skrevet 25. august 2007 Jeg ønsker å få bokstavene Æ/Ø/Å i output på Python. Eksempel: # -*- coding: UTF-8 -*- print 'Nå skal jeg få til dette' Output: NÕ skal jeg fÕ til dette Etter en del søking, så fant jeg ut at unicode u"\u00E5" fungerte som å. Så, dersom jeg prøver: print u"\u00E5" Output: å Men nå får jeg kun brukt å som et enkelt tegn, jeg får ikke brukt det i sammenheng. Tar et eksempel: print 'Nu"\u00E5" skal jeg fu"\u00E5" til dette' Output: Nu"\u00E5" skal jeg fu"\u00E5" til dette Jeg lurer på om noen har tips til hvordan jeg kan løse dette? Målet er altså å kunne bruke norske bokstaver i en sammenhengende tekst. Lenke til kommentar
genstian Skrevet 25. august 2007 Del Skrevet 25. august 2007 Du må lagre fila som utf-8 også må du skrive det slik: print u"Øl, Ål, Æsel" Hvis du bruker Notepad++ (windows program som er veldig bra) så er det Format -> Encode in UTF-8 Lenke til kommentar
f00b Skrevet 25. august 2007 Forfatter Del Skrevet 25. august 2007 Ah, takker igjen for hjelp! Det funket Lenke til kommentar
f00b Skrevet 26. august 2007 Forfatter Del Skrevet 26. august 2007 Jeg vet at dette høres håpløst ut, men jeg sliter med å finne på programmer jeg kan lage.. Så, jeg bestemte meg for å prøve å bruke Python til å muligjøre norske bokstaver i command prompt. Det jeg har prøvd meg på, er å lage et python-script for hver bokstav (Æ/Ø/Å), så bruker jeg set %Æ% = python_ae.py i cmd for å calle f.eks. bokstaven Æ. Problemet med dette er at når jeg gjør dette så kan jeg ikke sette inn bokstaven i en sammenhengende tekst. Eksempel: set %Æ% = python_ae.py set %Ø% = python_oe.py set %Å% = python_aa.py ECHO N%Å% skal vi se... %Å% Output: Npython_aa.py skal vi se.. Å Det ser ikke ut som man kan bruke variabler i sammenheng med ECHO, og dersom jeg ikke bruker ECHO så blir det linjebrudd. Jeg vet at dette går litt utenfor Python, men om du har noen tips til andre fremgangsmåter til dette så fyr løs Lenke til kommentar
genstian Skrevet 26. august 2007 Del Skrevet 26. august 2007 (endret) Har beklageligvis null peiling på windows cmd... Endret 26. august 2007 av hotstian Lenke til kommentar
zeitgeist Skrevet 26. august 2007 Del Skrevet 26. august 2007 Det jeg har prøvd meg på, er å lage et python-script for hver bokstav (Æ/Ø/Å), så bruker jeg set %Æ% = python_ae.py i cmd for å calle f.eks. bokstaven Æ. Problemet med dette er at når jeg gjør dette så kan jeg ikke sette inn bokstaven i en sammenhengende tekst. (snip) Det ser ikke ut som man kan bruke variabler i sammenheng med ECHO, og dersom jeg ikke bruker ECHO så blir det linjebrudd. Jeg vet at dette går litt utenfor Python, men om du har noen tips til andre fremgangsmåter til dette så fyr løs 9364188[/snapback] Dette funker: set Æ=python_ae.py set Ø=python_oe.py set Å=python_aa.py ECHO N %Å% skal vi se... %Å% Uten %% i variabeldeklarasjon og uten mellomrom før og etter =. Lenke til kommentar
f00b Skrevet 28. august 2007 Forfatter Del Skrevet 28. august 2007 Dette funker: set Æ=python_ae.py set Ø=python_oe.py set Å=python_aa.py ECHO N %Å% skal vi se... %Å% Uten %% i variabeldeklarasjon og uten mellomrom før og etter =. 9366612[/snapback] Vel, det er slik du beskriver det som jeg har gjort det - bare skrivefeil i innlegget mitt over. Problemet med å ha det slik er at variabelen gjøres om til filnavnet. Dersom jeg har dette i command prompt: set Æ=unicode_ae.py ECHO V %Æ% ret er ikke spesielt bra Så blir det seende slik ut: V unicode_ae.py ret er ikke spesielt bra Lenke til kommentar
zeitgeist Skrevet 28. august 2007 Del Skrevet 28. august 2007 Vel, det er slik du beskriver det som jeg har gjort det - bare skrivefeil i innlegget mitt over. Problemet med å ha det slik er at variabelen gjøres om til filnavnet. Dersom jeg har dette i command prompt: set Æ=unicode_ae.py ECHO V %Æ% ret er ikke spesielt bra Så blir det seende slik ut: V unicode_ae.py ret er ikke spesielt bra 9377554[/snapback] OK, da har ikke jeg skjønt hva du er ute etter. Hvis det du ønsker er å bygge strenger med BAT/CMD-skript basert på output fra f.eks python-script, tror jeg du står overfor en begredelig oppgave. Såvidt jeg vet tar BAT-skript input på to måter: Parametre i kallet eller via innlesing av filer. BAT er et lobotomert "språk" som burde være forbuidt ved lov. Det er ubegripelig at MS ikke har utvidet det. Heldigvis er PowerShell nå et faktum. Du kan jo kikke på det. Lenke til kommentar
110kg Skrevet 4. september 2007 Del Skrevet 4. september 2007 Det du leter etter heter "command substitution", hvordan det gjøres i cmd vet jeg ikke, men i bash kan du bruke en av disse: alias å='unicode_ae.py' echo N`å` skal vi se echo N$(å) skal vi se Vet det ikke svarer på spørsmålet ditt, men det gir deg kanskje nok info til å google det. btw: hvis du liker python og kommandolinjen, burde du kanskje prøve ut en GNU/Linux distro. Begge deler føles og fungere langt bedre der! btw2: å gjøre dette i bash er meningsløst da æøå alt fungerer fint der i moderne distribusjone. Så det over var bare for å illustrere Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå