How to assign variable for every line in txt seperately in Python?

Question:

I have a text file that with multiple lines and I’m trying to assign turn every line into a string and assign them into a variable separately. The code looks something like this at the moment:

with open('config.txt', 'r') as f:
    file_name = ''.join(f.readlines()[0:1])
    Runstart = ''.join(f.readlines()[1:2])
    Runend = ''.join(f.readlines()[2:3])

But it doesn’t read anything after the first line. What am I doing wrong here and how do I fix it? The goal is to give a name for every line. Alternative methods are welcomed.

Thanks.

Asked By: jxaiye

||

Answers:

You don’t need all these slices and indices. Just use readline:

with open('config.txt', 'r') as f:
    file_name = f.readline()
    Runstart = f.readline()
    Runend = f.readline()
Answered By: Vsevolod Timchenko

You can treat the file as an iterator.

from itertools import islice

with open('config.txt', 'r') as f:
    file_name, Runstart, Runend = (x.rstrip() for x in islice(f, 3))
Answered By: chepner

not sure if this helps but this is what I understand from your question:

with open('config.txt', 'r') as f:
    for line in f:
        thisList = line.split(' ')
        string = ''
        file_name = thisList[0]
        Runstart = thisList[1]
        Runend = thisList[2]
        print(file_name, Runstart, Runend)
Answered By: Sinister_7
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.