2017-08-30 2 views
0

Als Teil eines größeren Projekts möchte ich einfach sicherstellen, dass eine Datei geöffnet werden kann und Python sie lesen und verwenden kann. So, nachdem ich die TXT-Datei geöffnet, sagte ich:Warum wird keine einzelne Zeile aus einer Datei gedruckt?

data = txtfile.read() 

first_line = data.split('\n',1)[2] 

print(first_line) 

Ich habe auch versucht

print(f1.readline()) 

wobei f1 die TXT-Datei ist. Dies tat wiederum nichts. Ich benutze die Spyder-IDE, und es sagt nur laufende Datei und druckt nichts. Liegt es daran, dass meine Datei zu groß ist? Es sind 4,6 Gigs.

Hat jemand eine Idee was los ist?

+0

Drucken (f1.readline()) sollte funktionieren, sind Sie sicher, dass die Datei nicht alles in einer einzigen Zeile enthält? Oder zumindest eine sehr lange erste Zeile? – user1408786

+0

Wenn diese Zeilen leer sind (mit Ausnahme von Leerzeichen - Leerzeichen, Tabulatoren, Zeilenumbrüche usw.), dann wird das Drucken offensichtlich nicht viel anzeigen ... –

Antwort

-1

Dies sollte funktionieren:

with open('file-name') as f: 
    print(f.readline()) 
-1

Try this:

data = open('file.txt') 
line = data.readline() 
print(line) 
-1
first_line = open('myfile.txt', 'r').readline() 
+1

Einige Erklärungen wären nett. Nur-Code-Antworten sind selten sehr nützlich. –

0

und es sagt nur Datei ausgeführt wird, und nicht alles drucken. Ist es , weil meine Datei zu groß ist? Es sind 4,6 Gigs.

Ja.

data = txtfile.read() 

Diese Funktion liest die gesamte Datei. Da Sie angegeben haben, dass die Datei 4,6 GB groß ist, wird es Zeit brauchen, um die gesamte Datei zu laden und dann das Zeichen nach Zeilenwechsel zu teilen.

sehen: Read large text files in Python

Ich weiß nicht, Ihren Nutzungskontext, so, wenn Sie Zeile für Zeile verarbeiten können, wäre es einfacher sein. Oder sogar Chunks machen es einfacher als das Lesen der gesamten Datei.

Verwandte Themen