Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6154499
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T20:16:25+00:00 2026-05-23T20:16:25+00:00

Newbie in Python need help! I have a file with a structure: [timestamp] [level]

  • 0

Newbie in Python need help!

I have a file with a structure:

[timestamp] [level] [source] message

which contains following lines(for example):

[Wed Oct 11 14:34:52 2000] [error] [client 127.0.0.1] error message
[Wed Oct 11 18:56:52 2000] [warning] [client 127.0.0.1] error message
[Wed Oct 11 22:15:52 2000] [critical] [client 127.0.0.1] error message

And i need to sort this lines by [level] and display a result in STDOUT. But there is two conditions: we must have opportunity to select [level] name which uses to sorting and all lines with upper [level] should be displayed too.

[level] values:
critical = 50
error = 40
warning = 30
info = 20
debug = 10

I decide to do this with suits:

suits = {'critical': 50, 'error': 40, 'warning': 30}
l = ['critical','error','warning']
print sorted(l, key=suits.get)

But i suppose it’s not the best way.

I hope you’ll help me to solve this…

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T20:16:26+00:00Added an answer on May 23, 2026 at 8:16 pm

    Here is working code (I couldn’t help, even though @Hamidi said “We won’t write your program for you” 😉

    import re
    
    PAT = re.compile(r'\[(?P<time>[^\]]+)\] \[(?P<level>[^\]]+)\] \[(?P<client>[^\]]+)\] (?P<message>\S+)')
    LEVELS = ['critical', 'error', 'warning', 'info', 'debug']
    
    def level_number(line):
        match = PAT.match(line)
        if match:
            level = PAT.match(line).groupdict()['level']
            return LEVELS.index(level)
        return len(LEVELS)
    
    with open('log.txt') as f:
        result = sorted(f, key=level_number)
    

    Note, I included the regex with groups for each part (this may come in convenience for further processing). HTH.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am a newbie to Python. I have a HTML file where I need
I am a newbie to Python and have come across the following example in
A python newbie question: I need to do the following try: do-something() except error1:
I have another newbie Python question. I have the following piece of code that
I'm newbie for python, I'm having task so I need to scan wifi and
I'm a newbie to python and the app engine. I have this code that
Now following my series of python newbie questions and based on another question .
Hey there, was wondering if anyone could help a newbie on SQL and Python.
I have a file of the following format. 15/07/2010 14:14:13 changed_status_from_Offline_to_Available 15/07/2010 15:01:09 changed_status_from_Available_to_Offline
A clueless Python newbie needs help. I muddled through creating a simple script that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.