Usman
Usman

Reputation: 103

Get result in one line loop

My output:

I have CMShehbaz
CMShehbaz

Expected:

I have CMShehbaz CMShehbaz

I am trying get result in one line. I tried with end="", concat +, but did not work. I want result in one line.

lines = []
with open('user.txt') as f:
    lines = f.readlines()

count = 0
for line in lines:
    count += 1
    print("I have {}  {}".format(line,line) )
    print(f'line {count}: {line}')

Upvotes: 0

Views: 186

Answers (2)

SimonT
SimonT

Reputation: 1019

I'm not quite sure why you have a counter in there if all you want is a single string, but this will do that job.

user.txt

CMShehbaz1
CMShehbaz2
CMShehbaz3

python file

with open('user.txt') as f:
    foo = "I have "
    bar = " ".join(line.strip() for line in f)
    print(foo+bar)

# Or you can do

    foo = " ".join(line.strip() for line in f)
    print(f"I have {foo}")

Gives you the output:

I have CMShehbaz1 CMShehbaz2 CMShehbaz3

If you want to know how many names are in foo then you can do

    print(len(foo.split(' ')))  # this will give you 3

Upvotes: 2

tgpz
tgpz

Reputation: 181

I suspect that "user.txt" is a list of usernames each on a new line.

so in your code line will look something like "USER\n"

You can strip off the "\n" character of use some of the solutions posted previously: How to read a file without newlines?

Upvotes: 1

Related Questions