Spezielle nationale Zeichen werden in Python nicht .plit ()

Ich habe Schwierigkeiten in Python, beim Lesen von speziellen nationalen Zeichen aus einer Textdatei.

with open("../Data/DKsnak.txt") as f: content = f.readlines() str1 = content[0] print "string:",str1 lst1 = str1.split() print "list:",lst1 

Die Ausgabe ist eine Folge:

  • Öffnen Sie DivX / XVID Videos in OpenCV Python
  • Python: Umwandlung der Eingabe in Großbuchstaben auf dem Bildschirm, wie es eingegeben wird
  • Open () und codecs.open () in Python 2.7 verhalten sich seltsam anders
  • Python: Wie lese und analysiere ich eine unicode utf-8 Textdatei?
  • Wieder: UnicodeEncodeError: ascii codec kann nicht codieren
  • Unterschied zwischen open und codecs.open in Python
  •  string: Udtræk fra observatør på årstal list: ['Udtr\xc3\xa6k', 'fra', 'observat\xc3\xb8r', 'p\xc3\xa5', '\xc3\xa5rstal'] 

    Die erste Zeile ist wie erwartet, einschließlich der besonderen dänischen Charter. Aber sie überleben nicht, in eine Schnur aufgeteilt zu werden. Ich habe verschiedene Tricks mit Codecs und Unicode ausprobiert, kann aber den magischen Bullit nicht finden.

    Bitte kann jemand vorschlagen, wie ich diese Worte in Listen bekomme, also kann ich mit ihnen als solche arbeiten.

    Mit freundlichen Grüßen Martin

    Laufen: Python 2.7.5 (Standard, Feb 19 2014, 13:47:28) [GCC 4.8.2 20131212 (Red Hat 4.8.2-7)] auf Linux2

  • Rufen Sie einen anderen Klick-Befehl aus einem Klick-Befehl
  • Argparse: Prüfen Sie, ob Argumente übergeben wurden
  • Umgang mit unbegrenzten gepaarten Argumenten mit argparse
  • Python: Wie kann man in optparse eine Option machen?
  • Beschränkung der Werte der Befehlszeilenoptionen
  • Was ist der beste Weg, um Befehlszeilenargumente zu ergreifen, die an ein Python-Skript übergeben wurden?
  • 3 Solutions collect form web for “Spezielle nationale Zeichen werden in Python nicht .plit ()”

    Dein Code ist in Ordnung. python speichert einfach so seine Sonderzeichen. Wenn du deinen Text ausdruckst, bekommst du immer noch die Originalzeichenfolgen:

     s = 'Udtræk fra observatør på årstal' s = s.split() for i in s: print i [OUTPUT] #all fine Udtræk fra observatør på årstal 

    Von https://docs.python.org/2.7/howto/unicode.html :

     import codecs f = codecs.open('unicode.rst', encoding='utf-8') 

    So bekommst du Unicode und kann sich teilen.

    Verwenden Sie die for-Schleife wie bereits erwähnt, wenn Sie wollen, dass sie auf der gleichen Zeile:

     for i in len(list1): string += list1[i] + ' ' print(string) 
    Python ist die beste Programmiersprache der Welt.