Python konvertieren multiline zu single line

Ich möchte Python Multiline String zu einer einzigen Zeile zu konvertieren. Wenn ich die Saite in einem Vim öffne, kann ich am Anfang jeder Zeile ^ M sehen. Wie verarbeite ich die Zeichenfolge, um alles in einer einzigen Zeile mit Tabtrennung zwischen jeder Zeile zu machen. Beispiel in Vim sieht es wie aus:

Serialnumber ^MName Rick ^MAddress 902, A.street, Elsewhere 

Ich möchte, dass es so etwas wie:

  • Abrufen von Textblöcken aus Datei
  • PyQt4 to PyQt5 -> mainFrame () veraltet, benötigt fix, um Webseiten zu laden
  • Mit weniger Datenspeicher kleine Operationen in Appengine
  • Python: Suche nach Strings in einer Datei aus einer anderen Textdatei aufgelistet?
  • E-Mail mit Python überprüfen
  • Gibt es einen Weg, um die Zahlen nur aus einer Python-Liste ausgeben?
  •  Serialnumber \t Name \t Rick \t Address \t 902, A.street,...... 

    Wo jeder String in einer Zeile ist. Ich habe es versucht

      somestring.replace(r'\r','\t') 

    Aber es funktioniert nicht. Auch wenn der String in einer einzigen Zeile ist, wenn ich eine newline (UNIX newline?) Am Ende des Strings wollte, wie würde ich das machen?

  • Wie man meine chatbot Benutzeroberfläche mit APIAI serverhost über python sdk oder javascript verbindet?
  • Google SafeBrowsing API: immer einen Fehler bekommen
  • Kein Modul in meiner Python gefunden [Gelöscht]
  • Bekomme auch das Element, das nicht mit fnmatch übereinstimmt
  • Wie schreibe ich mehrere Versuchsanweisungen in einem Block in Python?
  • Autoload in Python
  • 3 Solutions collect form web for “Python konvertieren multiline zu single line”

    Gelöscht meine vorherige Antwort, weil ich erkannte, dass es falsch war und ich musste diese Lösung testen.

    Angenommen, dass Sie dies aus der Datei lesen, können Sie Folgendes tun:

     f = open('test.txt', 'r') lines = f.readlines() mystr = '\t'.join([line.strip() for line in lines]) 

    Wie ep0 gesagt hat, steht das ^ M für '\ r', welches der Wagen Zeichen in Windows zurückgibt. Es ist überraschend, dass du ^ M am Anfang jeder Zeile hättest, da das Windows-Newline-Zeichen \ r \ n ist. Mit ^ M am Anfang der Zeile zeigt an, dass Ihre Datei \ n \ r stattdessen enthält.

    Unabhängig davon nutzt der obige Code ein Listenverständnis, um jede der Zeilen, die von test.txt gelesen wurden, zu test.txt . Für jede line in lines nennen wir str.strip() , um alle Leerzeichen und nicht druckenden Zeichen aus dem ENDS jeder Zeile zu entfernen. Schließlich nennen wir '\t'.join() auf der resultierenden Liste, um Tabs einzufügen.

    Sie können "\ r" Zeichen durch "\ t" ersetzen.

     my_string.replace("\r", "\t") 

    Dies geschieht, wie VIM interpretiert CR (Wagenrücklauf), von Windows verwendet, um neue Linien zu begrenzen. Du solltest nur einen Editor benutzen (ich persönlich bevorzuge VIM). Lesen Sie dies: VIM ^ M

    Python ist die beste Programmiersprache der Welt.