Solved

Reading / Parsing IP and Port from file

Posted on 2008-06-22
1
765 Views
Last Modified: 2012-05-05
I'm trying to read and parse the ip and port from a file. I'm pretty close to getting it, but
somethings not right.

The file is data.txt has the contents
IP_ADDRESS=127.0.0.1
PORT=3031

The result after running the program is backwards
PORT:  127.0.0.1

IP:  3031

Why I don't understand and what to do to make PORT: 3031 and IP: 127.0.0.1
myFile = open("data.txt","r")

for line in myFile.readlines():

	if line.find("PORT"):

		ip = line.split("=")[1]

		print "PORT:  " + str(ip)

	elif line.find("IP_ADDRESS"):

		port = line.split("=")[1]

		print "IP:  " + str(port)

Open in new window

0
Comment
Question by:mitchguy
1 Comment
 
LVL 14

Accepted Solution

by:
RichieHindle earned 50 total points
ID: 21841838
The "find" method returns -1 if it doesn't find anything, and "if -1" succeeds - that is, -1 is considered to be True.

What you'd better off doing is saying 'if "PORT" in line:" - it's easier to read and it does exactly what you want.

Your "port" and "ip" variables are the wrong way round - you're parsing the port into a variable called "ip" and vice versa.  It's not the cause of any breakage, but it could be the cause of confusion!

An aside: your output is double-spaced because the lines you're iterating through contain the newlines from data.txt, but your "print" statements are adding newlines as well.  Using line.strip() prevents that.

Here's the working code:

myFile = open("data.txt","r")

for line in myFile.readlines():

        line = line.strip()

        if "PORT" in line:

                port = line.split("=")[1]

                print "PORT:  " + str(port)

        elif "IP_ADDRESS" in line:

                ip = line.split("=")[1]

                print "IP:  " + str(ip)

Open in new window

0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Suggested Solutions

Installing Python 2.7.3 version on Windows operating system For installing Python first we need to download Python's latest version from URL" www.python.org " You can also get information on Python scripting language from the above mentioned we…
Flask is a microframework for Python based on Werkzeug and Jinja 2. This requires you to have a good understanding of Python 2.7. Lets install Flask! To install Flask you can use a python repository for libraries tool called pip. Download this f…
Learn the basics of strings in Python: declaration, operations, indices, and slicing. Strings are declared with quotations; for example: s = "string": Strings are immutable.: Strings may be concatenated or multiplied using the addition and multiplic…
Learn the basics of while and for loops in Python.  while loops are used for testing while, or until, a condition is met: The structure of a while loop is as follows:     while <condition>:         do something         repeate: The break statement m…

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now