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:

  • Unterschied zwischen open und codecs.open in Python
  • Python: Umwandlung der Eingabe in Großbuchstaben auf dem Bildschirm, wie es eingegeben wird
  • Python-Bibliothek zum Ändern von MP3-Audio ohne Transcoding
  • Opencv-Fehler auf Python
  • Python: Wie lese und analysiere ich eine unicode utf-8 Textdatei?
  • Video kann nicht mit opencv geöffnet werden
  •  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

  • Python-Befehlszeilenparameter
  • Erstellen eines Arrays aus einer Befehlszeilenoption (python :: optparse)
  • Befehlszeilenargumente In Python
  • Python argparse - entweder beide optionale argumente oder auch keine
  • Parser in python3 nimmt keine Trennzeichen von Kommandozeile über argparse
  • Wie bekomme ich Flags aus einem ArgumentParser-Objekt?
  • 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.