Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Strange output
#6
line 8 is the root of your problem
g[3] is a string and you iterate over string. so u is each char in that string. then you try to split single char at ',' (line 9)

what i suggest:
def get_group_users():
    f = open('group.example', 'r')          #f is file
 
    users = []                              #obvious
    for l in f:                                     
        g = l.strip().split(':')                    #g is group
        if (g[0] == "users"):
            users.extend(g[3].split(','))
    return users

print(get_group_users())
Output:
['kintaro', 'john', 'autossh', 'test']
Now, what I would do, to make better code

def get_group_users(file_name):
    users = []
    with open(file_name, 'r') as f:
        for line in f:
            if line.startswith('users'):
                *_, group_users = line.strip().split(':')
                users.extend(group_users.split(','))
    return users

print(get_group_users('group.example'))
Output:
['kintaro', 'john', 'autossh', 'test']
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Messages In This Thread
Strange output - by kintarowonders - May-08-2020, 04:30 PM
RE: Strange output - by buran - May-08-2020, 04:40 PM
RE: Strange output - by kintarowonders - May-08-2020, 05:01 PM
RE: Strange output - by bowlofred - May-08-2020, 05:13 PM
RE: Strange output - by kintarowonders - May-08-2020, 05:16 PM
RE: Strange output - by buran - May-08-2020, 05:18 PM
RE: Strange output - by buran - May-08-2020, 05:20 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  strange output KaliLinux 2 2,597 Nov-19-2019, 09:24 AM
Last Post: KaliLinux
  Strange output with regular expressions newbieAuggie2019 1 2,472 Nov-04-2019, 07:06 PM
Last Post: newbieAuggie2019

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020