2017-03-04 4 views
0

Ich habe eine Textdatei und ich möchte die Zeichenfolge vom 300. Zeichen zum 500. Zeichen (oder Spalte in der Textdatei) innerhalb jeder Zeile und setzen die Zeichenfolge in eine Liste.Eine Datei Zeile für Zeile lesen aber nur einige Zeichen innerhalb jeder Zeile

Ich habe meinen Code damit gestartet, aber ich weiß nicht, wie man die Datei lesen mit der Angabe der ch.

with open("filename") as f: 
for line in f: 
    for ch in line: 
+0

nur Array Scheiben verwenden: 'für ch in der Zeile [300: 500]:' –

+1

können Sie tun das mit etwas wie 'seq = [Zeile [299: 500] für Zeile in f]'. –

Antwort

3

Versuchen:

with open("filename") as f: 
    for line in f: 
     chs = line[299:500] 

Dies sollte es in Scheiben schneiden und die Zeichen 300-500 zurückzukehren. Von dort aus könntest du einfach list.append eingeben, um es in eine Liste zu schreiben oder was immer du tun musst.

+0

Danke, das funktioniert. –

2

können Sie den Index Slicing-Notation auf Python Strings verwenden:

lines = [] 
with open("filename") as f: 
    for line in f: 
     lines.append(line[300:500]) 

Oder

with open("filename") as f: 
    lines = [l[300:500] for l in f] 
Verwandte Themen