<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CkYMRHo-cCp7ImA9WhRRFEk.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358</id><updated>2011-11-27T16:29:45.458-08:00</updated><category term="python for loop" /><category term="python socket module" /><category term="python sys module" /><category term="python filter" /><category term="python startswith" /><category term="python reduce" /><category term="python list sort" /><category term="python enumerate" /><category term="python uppercase" /><category term="python string methods" /><category term="python titlecase" /><category term="python readlines" /><category term="python newbie" /><category term="python create directory" /><category term="python datetime module" /><category term="python readline" /><category term="python2.6" /><category term="python recursive function" /><category term="python write file" /><category term="python continue" /><category term="python map" /><category term="python factorial" /><category term="python range" /><category term="python list" /><category term="python join" /><category term="python file open" /><category term="python strip" /><category term="python str" /><category term="python ip address" /><category term="python time module" /><category term="python break" /><category term="python dictionaries" /><category term="python os module" /><category term="python stdin" /><category term="python split" /><category term="python swapcase" /><category term="python isdigit" /><category term="python system" /><category term="python dictionaries iteritems" /><category term="python file close" /><category term="python capitalize" /><category term="python math module" /><category term="python argv" /><category term="python rstrip" /><category term="python timedelta" /><category term="python regular expression" /><category term="python file read" /><category term="python functions" /><category term="python replace" /><category term="python list pop" /><category term="python has_key" /><category term="python tuple" /><category term="python list append" /><category term="python if" /><category term="python file readline" /><category term="python lambda" /><category term="python getopt" /><category term="python glob" /><category term="python strftime function" /><category term="python lowercase" /><category term="python file objects" /><category term="python command line" /><category term="python dictionary append" /><category term="python dictionary setdefault" /><category term="python rename" /><category term="python len" /><category term="python exceptions" /><category term="python float" /><category term="python elif" /><category term="python ValueError" /><title>Python basics for newbies</title><subtitle type="html">Python basics with practical examples, only for newbies please :-)</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://pythonstarter.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/PythonBasicsForNewbies" /><feedburner:info uri="pythonbasicsfornewbies" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D08MSX46cCp7ImA9Wx9XFEw.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-2064691685599339074</id><published>2011-01-07T07:16:00.000-08:00</published><updated>2011-01-07T07:58:08.018-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-07T07:58:08.018-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python join" /><category scheme="http://www.blogger.com/atom/ns#" term="python list pop" /><category scheme="http://www.blogger.com/atom/ns#" term="python startswith" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python enumerate" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><title>Python merge line with line above</title><content type="html">&lt;span style="font-weight: bold;"&gt;Input file:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat file.txt&lt;br /&gt;500:120:100:X&lt;br /&gt;:100:120&lt;br /&gt;200:900:125&lt;br /&gt;120:120&lt;br /&gt;:900&lt;br /&gt;120:345&lt;br /&gt;12:900:1234:34&lt;br /&gt;:90&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Required:&lt;/span&gt; Join the lines which startswith : with the previous line.&lt;br /&gt;i.e. required output is:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;500:120:100:X:100:120&lt;br /&gt;200:900:125&lt;br /&gt;120:120:900&lt;br /&gt;120:345&lt;br /&gt;12:900:1234:34:90&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The python script to achieve this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;data=open("file.txt").read().split("\n")&lt;br /&gt;for i,line in enumerate(data):&lt;br /&gt;    if line.startswith(":"):&lt;br /&gt;        data[i-1]= data[i-1]+line&lt;br /&gt;        data.pop(i)&lt;br /&gt;print '\n'.join(data),&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python merge-lines.py&lt;br /&gt;500:120:100:X:100:120&lt;br /&gt;200:900:125&lt;br /&gt;120:120:900&lt;br /&gt;120:345&lt;br /&gt;12:900:1234:34:90&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The solution using UNIX Awk can be found &lt;a href="http://unstableme.blogspot.com/2008/07/merging-lines-using-awk-bash.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;More about python enumerate function can be found &lt;a href="http://docs.python.org/library/functions.html#enumerate"&gt;here&lt;/a&gt;. Mentioned below is a small example on python enumerate function&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; for i, student in enumerate(['Alex', 'Ryan', 'Deb']):&lt;br /&gt;...     print i, student&lt;br /&gt;...&lt;br /&gt;0 Alex&lt;br /&gt;1 Ryan&lt;br /&gt;2 Deb&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Related Posts:&lt;/span&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/10/python-print-section-of-file-using-line.html"&gt;Print section of file using line number - Python&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/11/print-line-next-to-pattern-in-python.html"&gt;Print line next to pattern using Python&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/10/print-line-above-pattern-in-python.html"&gt;Print line above pattern using Python&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;New learning:&lt;/span&gt;&lt;br /&gt;Python list pop method:&lt;br /&gt;list.pop([i])&lt;br /&gt;Remove the item at the given position in the list, and return it. If no index is specified, a.pop() removes and returns the last item in the list.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-2064691685599339074?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QpJCIIw19Q78kN8SFqnI8Ezympw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QpJCIIw19Q78kN8SFqnI8Ezympw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QpJCIIw19Q78kN8SFqnI8Ezympw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QpJCIIw19Q78kN8SFqnI8Ezympw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/evnGkNsGz1A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/2064691685599339074/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=2064691685599339074&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/2064691685599339074?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/2064691685599339074?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/evnGkNsGz1A/python-merge-line-with-line-above.html" title="Python merge line with line above" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2011/01/python-merge-line-with-line-above.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAGSXwyeSp7ImA9Wx9QFE8.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-7182693277792389913</id><published>2010-12-26T21:20:00.000-08:00</published><updated>2010-12-26T21:28:48.291-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-26T21:28:48.291-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python join" /><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python readlines" /><category scheme="http://www.blogger.com/atom/ns#" term="python list append" /><category scheme="http://www.blogger.com/atom/ns#" term="python startswith" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><category scheme="http://www.blogger.com/atom/ns#" term="python exceptions" /><category scheme="http://www.blogger.com/atom/ns#" term="python ValueError" /><category scheme="http://www.blogger.com/atom/ns#" term="python rstrip" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><category scheme="http://www.blogger.com/atom/ns#" term="python file close" /><title>Python list append example - divide by two</title><content type="html">Input file:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat file.txt&lt;br /&gt;h1|u|1&lt;br /&gt;h2|5|1|1&lt;br /&gt;rec1|1239400800|Sat|fan1|AX|2|10035|-|2|50&lt;br /&gt;rec2|1239400800|Sat|fan1|AX|2|-|-|2|17&lt;br /&gt;rec5|1239400801|Sat|fan3|AY|5|10035|-|2|217&lt;br /&gt;rec8|1239400804|Sat|fan5|AX|2|5|-|2|970&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Required Output:&lt;br /&gt;- Lines starting with "h1" or "h2", no action required, just print.&lt;br /&gt;- Lines starting with "rec", divide the values starting from 6th field by 2.&lt;br /&gt;&lt;br /&gt;Required output is:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;h1|u|1&lt;br /&gt;h2|5|1|1&lt;br /&gt;rec1|1239400800|Sat|fan1|AX|1|5017|-|1|25&lt;br /&gt;rec2|1239400800|Sat|fan1|AX|1|-|-|1|8&lt;br /&gt;rec5|1239400801|Sat|fan3|AY|2|5017|-|1|108&lt;br /&gt;rec8|1239400804|Sat|fan5|AX|1|2|-|1|485&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The python script:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;fp = open("file.txt", "rU")&lt;br /&gt;lines = fp.readlines()&lt;br /&gt;fp.close()&lt;br /&gt;&lt;br /&gt;for line in lines:&lt;br /&gt;       if line.startswith("h1"):&lt;br /&gt;               print line,&lt;br /&gt;       if line.startswith("h2"):&lt;br /&gt;               print line,&lt;br /&gt;       if line.startswith("rec"):&lt;br /&gt;               f=line.split("|")&lt;br /&gt;               r = f[5:]&lt;br /&gt;               l = []&lt;br /&gt;               for each in r:&lt;br /&gt;                       try:&lt;br /&gt;                               l.append(str(int(each)/2))&lt;br /&gt;                       except ValueError:&lt;br /&gt;                               l.append(each)&lt;br /&gt;&lt;br /&gt;               t = "|".join(f[0:5]) + "|" + "|".join(l)&lt;br /&gt;               print t.rstrip()&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-7182693277792389913?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iz1zEfcGFfK0IaLed8yI7Unsqks/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iz1zEfcGFfK0IaLed8yI7Unsqks/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iz1zEfcGFfK0IaLed8yI7Unsqks/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iz1zEfcGFfK0IaLed8yI7Unsqks/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/AkUe9vj61BQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/7182693277792389913/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=7182693277792389913&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/7182693277792389913?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/7182693277792389913?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/AkUe9vj61BQ/python-list-append-example-divide-by.html" title="Python list append example - divide by two" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>2</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2010/12/python-list-append-example-divide-by.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IAQ3syfyp7ImA9Wx9SGEo.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-4839063256504981381</id><published>2010-12-08T21:05:00.000-08:00</published><updated>2010-12-08T21:12:22.597-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-08T21:12:22.597-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python sys module" /><category scheme="http://www.blogger.com/atom/ns#" term="python join" /><category scheme="http://www.blogger.com/atom/ns#" term="python argv" /><category scheme="http://www.blogger.com/atom/ns#" term="python strip" /><category scheme="http://www.blogger.com/atom/ns#" term="python startswith" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python dictionaries" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><title>Python - Replace based on another file</title><content type="html">&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat main.txt&lt;br /&gt;P|34|90&lt;br /&gt;T|12&lt;br /&gt;R|0|1291870414|ip1|890&lt;br /&gt;R|1|1291870415|ip5|690&lt;br /&gt;R|2|1291870415|ip1|899&lt;br /&gt;R|3|1291870412|ip2|896&lt;br /&gt;R|4|1291870418|ip3|999&lt;br /&gt;R|5|1291870419|ip5|191&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat lookup.txt&lt;br /&gt;ip7|172.17.4.8&lt;br /&gt;ip1|172.17.4.3&lt;br /&gt;ip5|172.17.4.9&lt;br /&gt;ip4|172.17.4.2&lt;br /&gt;ip3|172.17.4.1&lt;br /&gt;ip2|172.17.4.6&lt;br /&gt;ip6|172.17.4.7&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Required Output:&lt;br /&gt;Replace the 4th field (pipe delimited) of the 'R' lines of 'main.txt' with the corresponding lookup value from 'lookup.txt'  i.e. 'ip1' to be replaced with '172.17.4.3', 'ip2' with '172.17.4.6' etc.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;P|34|90&lt;br /&gt;T|12&lt;br /&gt;R|0|1291870414|172.17.4.3|890&lt;br /&gt;R|1|1291870415|172.17.4.9|690&lt;br /&gt;R|2|1291870415|172.17.4.3|899&lt;br /&gt;R|3|1291870412|172.17.4.6|896&lt;br /&gt;R|4|1291870418|172.17.4.1|999&lt;br /&gt;R|5|1291870419|172.17.4.9|191&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The python script:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import sys&lt;br /&gt;d={}&lt;br /&gt;for line in open("lookup.txt"):&lt;br /&gt;    line=line.strip().split("|")&lt;br /&gt;    d[line[0]]=line[-1]&lt;br /&gt;for line in open(sys.argv[1]):&lt;br /&gt;    if line.startswith('P'):&lt;br /&gt;        print line,&lt;br /&gt;    if line.startswith('T'):&lt;br /&gt;        print line,&lt;br /&gt;    if line.startswith('R'):&lt;br /&gt;        line=line.strip().split("|")&lt;br /&gt;        print '|'.join(line[0:3])+'|'+d[line[3]]+'|'+'|'.join(line[4:])&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python replace-from-file.py main.txt&lt;br /&gt;P|34|90&lt;br /&gt;T|12&lt;br /&gt;R|0|1291870414|172.17.4.3|890&lt;br /&gt;R|1|1291870415|172.17.4.9|690&lt;br /&gt;R|2|1291870415|172.17.4.3|899&lt;br /&gt;R|3|1291870412|172.17.4.6|896&lt;br /&gt;R|4|1291870418|172.17.4.1|999&lt;br /&gt;R|5|1291870419|172.17.4.9|191&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Related Posts:&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/05/lookup-file-operation-using-python.html"&gt;Lookup file operation using Python&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/05/lookup-file-in-python-using-dictionary.html"&gt;Lookup file in python using Dictionary&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2010/06/simple-python-file-lookup-function-for.html"&gt;Simple python file lookup function&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/09/find-text-string-in-file-in-python.html"&gt;Find text string in file in Python&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-4839063256504981381?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7FQgmIWHrm2S64fClLbAC38JDFw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7FQgmIWHrm2S64fClLbAC38JDFw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7FQgmIWHrm2S64fClLbAC38JDFw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7FQgmIWHrm2S64fClLbAC38JDFw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/_FuvCtcGW-M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/4839063256504981381/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=4839063256504981381&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/4839063256504981381?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/4839063256504981381?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/_FuvCtcGW-M/python-replace-based-on-another-file.html" title="Python - Replace based on another file" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2010/12/python-replace-based-on-another-file.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIARns5cCp7ImA9Wx9TEEg.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-8581139899190871397</id><published>2010-11-17T20:23:00.000-08:00</published><updated>2010-11-17T20:29:07.528-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-17T20:29:07.528-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python lambda" /><category scheme="http://www.blogger.com/atom/ns#" term="python strip" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python list sort" /><category scheme="http://www.blogger.com/atom/ns#" term="python file read" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><title>Python sort file based on last field</title><content type="html">Input file:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat file.txt&lt;br /&gt;IN,90,453&lt;br /&gt;US,12,1,120&lt;br /&gt;NZ,89,200&lt;br /&gt;WI,500&lt;br /&gt;TS,12,124&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Required output: Sort the above comma delimited file based on the last field (column). i.e. required output:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;US,12,1,120&lt;br /&gt;TS,12,124&lt;br /&gt;NZ,89,200&lt;br /&gt;IN,90,453&lt;br /&gt;WI,500&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Solution:&lt;br /&gt;The solution using Awk in UNIX bash shell is &lt;a href="http://unstableme.blogspot.com/2010/11/sort-file-based-on-last-field-unix.html"&gt;here&lt;/a&gt;. And here is the python one:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python&lt;br /&gt;Python 2.5.2 (r252:60911, Jan 20 2010, 21:48:48)&lt;br /&gt;[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] on linux2&lt;br /&gt;Type "help", "copyright", "credits" or "license" for more information.&lt;br /&gt;&gt;&gt;&gt; d_list = [line.strip() for line in open("file.txt")]&lt;br /&gt;&gt;&gt;&gt; d_list&lt;br /&gt;['IN,90,453', 'US,12,1,120', 'NZ,89,200', 'WI,500', 'TS,12,124']&lt;br /&gt;&gt;&gt;&gt; d_list.sort(key = lambda line: line.split(",")[-1])&lt;br /&gt;&gt;&gt;&gt; d_list&lt;br /&gt;['US,12,1,120', 'TS,12,124', 'NZ,89,200', 'IN,90,453', 'WI,500']&lt;br /&gt;&gt;&gt;&gt; for line in d_list:&lt;br /&gt;...     print line&lt;br /&gt;...&lt;br /&gt;US,12,1,120&lt;br /&gt;TS,12,124&lt;br /&gt;NZ,89,200&lt;br /&gt;IN,90,453&lt;br /&gt;WI,500&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Some notes:&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Accessing last element of a list in python:&lt;/span&gt;&lt;br /&gt;A negative index accesses elements from the end of the list counting backwards. The last element of any non-empty list is always list[-1].&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-8581139899190871397?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/m_p6dL28XtDQkfMD2vN6Cxorb1Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/m_p6dL28XtDQkfMD2vN6Cxorb1Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/m_p6dL28XtDQkfMD2vN6Cxorb1Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/m_p6dL28XtDQkfMD2vN6Cxorb1Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/NEbl_cDAbxc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/8581139899190871397/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=8581139899190871397&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/8581139899190871397?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/8581139899190871397?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/NEbl_cDAbxc/python-sort-file-based-on-last-field.html" title="Python sort file based on last field" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>2</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2010/11/python-sort-file-based-on-last-field.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMBRXw4fCp7ImA9Wx5QEk4.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-2526282191088718897</id><published>2010-08-30T22:39:00.000-07:00</published><updated>2010-08-30T22:44:14.234-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-30T22:44:14.234-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python2.6" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><title>bsddb185 sunaudiodev - Python 2.6 Ubuntu installation</title><content type="html">If you are arriving on this page looking for the solution of following error message during python2.6 installation (make) on your Ubuntu:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Failed to find the necessary bits to build these modules:&lt;br /&gt;bsddb185           sunaudiodev                       &lt;br /&gt;To find the necessary bits, look in setup.py in detect_modules() for the module's name.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;then here is the solution:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; wget http://www.lysium.de/sw/python2.6-disable-old-modules.patch&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; patch -p1 &lt; python2.6-disable-old-modules.patch&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;For a complete guide to install python 2.6 on your Ubuntu, you can check this &lt;a href="http://www.lysium.de/blog/index.php?/archives/229-Installing-Python-2.6-on-Ubuntu-8.04.html"&gt;page&lt;/a&gt;, its really useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-2526282191088718897?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GeJTsjO2eQc6U9EFMynIHsDNUYg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GeJTsjO2eQc6U9EFMynIHsDNUYg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GeJTsjO2eQc6U9EFMynIHsDNUYg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GeJTsjO2eQc6U9EFMynIHsDNUYg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/sGD__KXAnBo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/2526282191088718897/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=2526282191088718897&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/2526282191088718897?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/2526282191088718897?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/sGD__KXAnBo/bsddb185-sunaudiodev-python-26-ubuntu.html" title="bsddb185 sunaudiodev - Python 2.6 Ubuntu installation" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2010/08/bsddb185-sunaudiodev-python-26-ubuntu.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEFRH05cSp7ImA9WxFbFko.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-6685414737934203301</id><published>2010-07-09T03:12:00.000-07:00</published><updated>2010-07-09T03:16:55.329-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-09T03:16:55.329-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python readlines" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python dictionaries" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><category scheme="http://www.blogger.com/atom/ns#" term="python write file" /><title>Python - Remove duplicate lines from file</title><content type="html">Objective :  Remove duplicate lines from a file (print first occurrence) which appeared exactly twice.&lt;br /&gt;&lt;br /&gt;Input file:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat file.txt&lt;br /&gt;begin&lt;br /&gt;ip 172.17.4.53&lt;br /&gt;line 172.17.4.52&lt;br /&gt;pl 172.17.4.51&lt;br /&gt;pl 172.17.4.51&lt;br /&gt;new 172.17.4.52&lt;br /&gt;line 172.17.4.52&lt;br /&gt;pl 172.17.4.51&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Required: Remove duplicate lines from the above file i.e. print only the first occurrence of the lines which appeared exactly twice and for lines those appear more than twice or appeared only once, no action required.&lt;br /&gt;&lt;br /&gt;i.e. Required output should look like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;begin&lt;br /&gt;ip 172.17.4.53&lt;br /&gt;line 172.17.4.52&lt;br /&gt;pl 172.17.4.51&lt;br /&gt;pl 172.17.4.51&lt;br /&gt;new 172.17.4.52&lt;br /&gt;pl 172.17.4.51&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The python script 'remove-duplicate.py' :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;d = {}&lt;br /&gt;&lt;br /&gt;fp = open("file.txt.nodup","w")&lt;br /&gt;text_file = open("file.txt", "r")&lt;br /&gt;lines = text_file.readlines()&lt;br /&gt;for line in lines:&lt;br /&gt;    if not line in d.keys():&lt;br /&gt;        d[line] = 0&lt;br /&gt;    d[line] = d[line] + 1&lt;br /&gt;&lt;br /&gt;for line in lines:&lt;br /&gt;    if d[line] == 0:&lt;br /&gt;        continue&lt;br /&gt;    elif d[line] == 2:&lt;br /&gt;        fp.write(line)&lt;br /&gt;        d[line] = 0&lt;br /&gt;    else:&lt;br /&gt;        fp.write(line)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python remove-duplicate.py&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat file.txt.nodup&lt;br /&gt;begin&lt;br /&gt;ip 172.17.4.53&lt;br /&gt;line 172.17.4.52&lt;br /&gt;pl 172.17.4.51&lt;br /&gt;pl 172.17.4.51&lt;br /&gt;new 172.17.4.52&lt;br /&gt;pl 172.17.4.51&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-6685414737934203301?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-sO_fWcPEU1NB1__5sMfc3x__WE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-sO_fWcPEU1NB1__5sMfc3x__WE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-sO_fWcPEU1NB1__5sMfc3x__WE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-sO_fWcPEU1NB1__5sMfc3x__WE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/xqI4kPrhekM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/6685414737934203301/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=6685414737934203301&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/6685414737934203301?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/6685414737934203301?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/xqI4kPrhekM/python-remove-duplicate-lines-from-file.html" title="Python - Remove duplicate lines from file" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>1</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2010/07/python-remove-duplicate-lines-from-file.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAMSXs5fCp7ImA9WxFUFkQ.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-8005636894191459405</id><published>2010-06-27T20:02:00.000-07:00</published><updated>2010-06-27T20:13:08.524-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-27T20:13:08.524-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python sys module" /><category scheme="http://www.blogger.com/atom/ns#" term="python os module" /><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python readlines" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python startswith" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><title>Simple python file lookup function for newbie</title><content type="html">Config file '&lt;span style="font-style: italic;"&gt;ip-mapping.txt&lt;/span&gt;' is a file of the following format:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat /home/testusr/work/ip-mapping.txt&lt;br /&gt;#id:ip1,ip2,ip3&lt;br /&gt;200:172.17.4.12,172.17.4.14,172.17.4.10&lt;br /&gt;205:172.17.4.14,172.17.4.14,172.17.4.11&lt;br /&gt;210:172.17.4.12,172.17.4.18,172.17.4.18&lt;br /&gt;208:172.17.4.11,172.17.4.10,172.17.4.19&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Required: Create a simple python function which will accept an 'id' and will return 'ip1' from the list of ips.&lt;br /&gt;&lt;br /&gt;The python script:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import os,sys&lt;br /&gt;&lt;br /&gt;config = '/home/testusr/work/ip-mapping.txt'&lt;br /&gt;if not os.path.exists(config):&lt;br /&gt;    print config+' file not present'&lt;br /&gt;    sys.exit()&lt;br /&gt;&lt;br /&gt;def getip(id):&lt;br /&gt;   all = open(config).readlines()&lt;br /&gt;   for line in all:&lt;br /&gt;        if line.startswith('#'):&lt;br /&gt;            continue&lt;br /&gt;        f=line.split(":")&lt;br /&gt;        if f[0]==id:&lt;br /&gt;                return f[1].split(',')[0]&lt;br /&gt;&lt;br /&gt;ip=getip('205')&lt;br /&gt;print ip&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python get-ip.py&lt;br /&gt;172.17.4.14&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I am sure there will be much better solutions to this problem, please comment, really appreciated.&lt;br /&gt;&lt;br /&gt;The description about Exit function of 'sys' module (&lt;a href="http://docs.python.org/py3k/library/sys.html#sys.exit"&gt;source&lt;/a&gt;) :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sys.exit([arg])&lt;br /&gt;Exit from Python. This is implemented by raising the SystemExit exception, so cleanup actions&lt;br /&gt;specified by finally clauses of try statements are honored, and it is possible to intercept the exit&lt;br /&gt;attempt at an outer level. The optional argument arg can be an integer giving the exit status&lt;br /&gt;(defaulting to zero), or another type of object. If it is an integer, zero is considered “successful&lt;br /&gt;termination” and any nonzero value is considered “abnormal termination” by shells and the&lt;br /&gt;like. Most systems require it to be in the range 0-127, and produce undefined results otherwise.&lt;br /&gt;&lt;br /&gt;Some systems have a convention for assigning specific meanings to specific exit codes, but these&lt;br /&gt;are generally underdeveloped; Unix programs generally use 2 for command line syntax errors&lt;br /&gt;and 1 for all other kind of errors. If another type of object is passed, None is equivalent to&lt;br /&gt;passing zero, and any other object is printed to sys.stderr and results in an exit code of 1. In&lt;br /&gt;particular, sys.exit("some error message") is a quick way to exit a program when an error occurs.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Related posts on lookup on file using python:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://pythonstarter.blogspot.com/2009/05/lookup-file-in-python-using-dictionary.html"&gt;Lookup file in python using dictionary&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pythonstarter.blogspot.com/2009/09/find-text-string-in-file-in-python.html"&gt;Find text string in file using python&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pythonstarter.blogspot.com/2009/05/lookup-file-operation-using-python.html"&gt;Lookup file operation in python&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-8005636894191459405?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/F0orkTTGkII6yHORcfwT7QVxXhs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/F0orkTTGkII6yHORcfwT7QVxXhs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/F0orkTTGkII6yHORcfwT7QVxXhs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/F0orkTTGkII6yHORcfwT7QVxXhs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/RxpoQWeh5zo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/8005636894191459405/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=8005636894191459405&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/8005636894191459405?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/8005636894191459405?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/RxpoQWeh5zo/simple-python-file-lookup-function-for.html" title="Simple python file lookup function for newbie" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>4</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2010/06/simple-python-file-lookup-function-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQER3YzcSp7ImA9WxBXGUQ.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-2732937876418889122</id><published>2010-01-31T20:02:00.000-08:00</published><updated>2010-01-31T20:08:26.889-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-31T20:08:26.889-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python sys module" /><category scheme="http://www.blogger.com/atom/ns#" term="python len" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python startswith" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><category scheme="http://www.blogger.com/atom/ns#" term="python range" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><title>Python - count instances without a specific line</title><content type="html">&lt;span style="font-weight: bold;"&gt;Input file:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat data.txt&lt;br /&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;k:begin:0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;i:0:66&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;i:1:76&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;t:1:143&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;k:end:0&lt;/span&gt;&lt;br /&gt;k:begin:7&lt;br /&gt;i:0:55&lt;br /&gt;i:1:65&lt;br /&gt;i:2:57&lt;br /&gt;k:end:7&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;k:begin:2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;i:0:10&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;i:1:0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;t:1:10&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;k:end:7&lt;/span&gt;&lt;br /&gt;k:begin:2&lt;br /&gt;i:0:46&lt;br /&gt;t:0:46&lt;br /&gt;k:end:7&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;k:begin:9&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;i:0:66&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;i:1:56&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;i:2:46&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;i:3:26&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;k:end:7&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Required:&lt;/span&gt; Count total number of instances (one instance being from a 'k:begin' to 'k:end' line) which do not have a 't' line associated.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The python program:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import sys&lt;br /&gt;count=0&lt;br /&gt;data = open(sys.argv[1]).readlines()&lt;br /&gt;for i in range(len(data)):&lt;br /&gt;       if data[i].startswith("k:end") and data[i-1].split(":")[0]!="t":&lt;br /&gt;               count=count+1&lt;br /&gt;print count&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python count_no_t.py data.txt&lt;br /&gt;2&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Related post:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/09/print-last-instance-of-file-python.html"&gt;Print last instance of a  file using Python&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/11/print-line-next-to-pattern-in-python.html"&gt;Print line next to pattern in Python&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/10/print-line-above-pattern-in-python.html"&gt;Print line above pattern in Python&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-2732937876418889122?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SDQnDsMsyGrJGI7VY-DXnbPDOHI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SDQnDsMsyGrJGI7VY-DXnbPDOHI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SDQnDsMsyGrJGI7VY-DXnbPDOHI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SDQnDsMsyGrJGI7VY-DXnbPDOHI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/KL3nNKk-zWA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/2732937876418889122/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=2732937876418889122&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/2732937876418889122?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/2732937876418889122?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/KL3nNKk-zWA/python-count-instances-without-specific.html" title="Python - count instances without a specific line" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2010/01/python-count-instances-without-specific.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IBR3cycCp7ImA9WxBSFU4.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-524014486316703529</id><published>2009-12-22T19:25:00.000-08:00</published><updated>2009-12-22T19:39:16.998-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-22T19:39:16.998-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python tuple" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python functions" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><title>Python convert string to tuple &amp; list</title><content type="html">Let's check the use of python 'tuple' and 'list' in-built functions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;tuple([iterable]) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It returns a 'tuple' whose items are the same and in the same order as iterable‘s items. iterable may be a sequence, a container that supports iteration, or an iterator object.&lt;br /&gt;&lt;br /&gt;tuple('xyz') returns ('x', 'y', 'z') and tuple([1, 2, 3]) returns (1, 2, 3)&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat file.txt&lt;br /&gt;Python Prog&lt;br /&gt;Readline&lt;br /&gt;Programming&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; for line in open("file.txt"):&lt;br /&gt;...     t = tuple(line)&lt;br /&gt;...     print t&lt;br /&gt;...&lt;br /&gt;('P', 'y', 't', 'h', 'o', 'n', ' ', 'P', 'r', 'o', 'g', '\n')&lt;br /&gt;('R', 'e', 'a', 'd', 'l', 'i', 'n', 'e', '\n')&lt;br /&gt;('P', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g', '\n')&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;list([iterable])&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It returns a list whose items are the same and in the same order as iterable‘s items. iterable may be either a sequence, a container that supports iteration, or an iterator object. If iterable is already a list, a copy is made and returned, similar to iterable[:]. For instance, list('xyz') returns ['x', 'y', 'z'] and list( (1, 2, 3) ) returns [1, 2, 3].&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&gt;&gt;&gt; for line in open("file.txt"):&lt;br /&gt;...     l = list(line)&lt;br /&gt;...     print l&lt;br /&gt;...&lt;br /&gt;['P', 'y', 't', 'h', 'o', 'n', ' ', 'P', 'r', 'o', 'g', '\n']&lt;br /&gt;['R', 'e', 'a', 'd', 'l', 'i', 'n', 'e', '\n']&lt;br /&gt;['P', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g', '\n']&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-524014486316703529?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0T5PyNRTSbukrn91RLmxVj5jeEg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0T5PyNRTSbukrn91RLmxVj5jeEg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0T5PyNRTSbukrn91RLmxVj5jeEg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0T5PyNRTSbukrn91RLmxVj5jeEg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/6K8hk4TFnmY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/524014486316703529/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=524014486316703529&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/524014486316703529?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/524014486316703529?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/6K8hk4TFnmY/python-convert-string-to-tuple-list.html" title="Python convert string to tuple &amp; list" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>1</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/12/python-convert-string-to-tuple-list.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcNRns9fyp7ImA9WxBSEk4.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-4003448986524747089</id><published>2009-12-19T06:06:00.000-08:00</published><updated>2009-12-19T06:14:57.567-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-19T06:14:57.567-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python strip" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python startswith" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><category scheme="http://www.blogger.com/atom/ns#" term="python write file" /><category scheme="http://www.blogger.com/atom/ns#" term="python if" /><title>Split a file into sub files in python</title><content type="html">Input file 'file.txt' is basically a log file containing running information of certain device interfaces in the following format:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat file.txt&lt;br /&gt;debug: on&lt;br /&gt;max allowed connection: 3&lt;br /&gt;tr#45&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Starting: interface 78e23&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Fan Status: On&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Speed: -&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;sl no: 3431212-2323-90&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;vendor: aledaia&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Stopping: interface 78e23&lt;/span&gt;&lt;br /&gt;tr#90&lt;br /&gt;newdebug received&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Starting: interface 78e24&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Fan Status: Off&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Speed: 5670&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;sl no: 3431212-2323-90&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;vendor: aledaia&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Stopping: interface 78e24&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Starting: interface 68e73&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Fan Status: On&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Speed: 1200&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;sl no: 3431212-2323-90&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;vendor: aledaia&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Stopping: interface 68e73&lt;/span&gt;&lt;br /&gt;tr#99&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Required:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Split the above file into sub-files such that&lt;br /&gt;- Each sub file conatins information of an interface (basically information from 'Starting' and 'Stopping' of the interface)&lt;br /&gt;- Sub-file name should be of the format:  interface-name_someSLno.txt&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The python script:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;flag=0;c=0&lt;br /&gt;for line in open("file.txt"):&lt;br /&gt;    line=line.strip()&lt;br /&gt;    if line.startswith("Stopping"):&lt;br /&gt;        flag=0&lt;br /&gt;        o.close()&lt;br /&gt;    if line.startswith("Starting"):&lt;br /&gt;        interface=line.split(" ")[2]&lt;br /&gt;        flag=1;c=c+1&lt;br /&gt;        o=open(interface+"_"+str(c)+".txt","w")&lt;br /&gt;    if flag and not line.startswith("Starting"):&lt;br /&gt;        print &gt;&gt;o, line&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Output:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat 78e23_1.txt&lt;br /&gt;Fan Status: On&lt;br /&gt;Speed: -&lt;br /&gt;sl no: 3431212-2323-90&lt;br /&gt;vendor: aledaia&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat 78e24_2.txt&lt;br /&gt;Fan Status: Off&lt;br /&gt;Speed: 5670&lt;br /&gt;sl no: 3431212-2323-90&lt;br /&gt;vendor: aledaia&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat 68e73_3.txt&lt;br /&gt;Fan Status: On&lt;br /&gt;Speed: 1200&lt;br /&gt;sl no: 3431212-2323-90&lt;br /&gt;vendor: aledaia&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-4003448986524747089?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wmnOA3MnPz-celf68EMUjChaals/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wmnOA3MnPz-celf68EMUjChaals/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wmnOA3MnPz-celf68EMUjChaals/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wmnOA3MnPz-celf68EMUjChaals/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/muuUGUNjsSk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/4003448986524747089/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=4003448986524747089&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/4003448986524747089?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/4003448986524747089?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/muuUGUNjsSk/split-file-into-sub-files-in-python.html" title="Split a file into sub files in python" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/12/split-file-into-sub-files-in-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYFR3k_cCp7ImA9WxNaGEw.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-3681197858365914830</id><published>2009-12-02T19:38:00.000-08:00</published><updated>2009-12-02T19:48:36.748-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T19:48:36.748-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python sys module" /><category scheme="http://www.blogger.com/atom/ns#" term="python stdin" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><title>Python - print last few characters</title><content type="html">&lt;span style="font-weight: bold;"&gt;Input file:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ cat file.txt&lt;br /&gt;sldadop233masdsa213313131ada121&lt;br /&gt;sltadop233masdsa813313133cso128&lt;br /&gt;slyadop233masdsa11331313Kada134&lt;br /&gt;slqadop233masdsa31331313tada162&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Required:&lt;/span&gt; Print last 6 characters of each line of the above input file.&lt;br /&gt;&lt;br /&gt;The python script:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat extract-last.py&lt;br /&gt;import sys&lt;br /&gt;for line in sys.stdin:&lt;br /&gt;    print '%s' % (line[-7:-1])&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python extract-last.py &amp;lt; file.txt&lt;br /&gt;ada121&lt;br /&gt;cso128&lt;br /&gt;ada134&lt;br /&gt;ada162&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Things to learn:&lt;/span&gt;&lt;br /&gt;- How to read a file in python from stdin&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Other alternatives in UNIX are:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#Using bash parameter substitution&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; while read line ; do echo ${line: -6}; done &amp;lt; file.txt&lt;br /&gt;&lt;br /&gt;#Since all lines are of fixed length, we can use 'cut' command&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cut -c26-31 file.txt&lt;br /&gt;&lt;br /&gt;#Using sed&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; sed 's/^.*\(......\)$/\1/' file.txt&lt;br /&gt;&lt;br /&gt;#Using awk&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; awk '{ print substr( $0, length($0) - 5, length($0) ) }'  file.txt&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-3681197858365914830?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/are9KE9z21h6h_CyMJjVNTn8Z8A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/are9KE9z21h6h_CyMJjVNTn8Z8A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/are9KE9z21h6h_CyMJjVNTn8Z8A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/are9KE9z21h6h_CyMJjVNTn8Z8A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/BJUbYSHe0aE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/3681197858365914830/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=3681197858365914830&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/3681197858365914830?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/3681197858365914830?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/BJUbYSHe0aE/python-print-last-few-characters.html" title="Python - print last few characters" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/12/python-print-last-few-characters.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYBQ388cSp7ImA9WxNaFUQ.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-97605715915470195</id><published>2009-11-30T07:45:00.000-08:00</published><updated>2009-11-30T07:49:12.179-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-30T07:49:12.179-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python regular expression" /><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python filter" /><category scheme="http://www.blogger.com/atom/ns#" term="python lambda" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python functions" /><category scheme="http://www.blogger.com/atom/ns#" term="python isdigit" /><title>Remove all except digits using python</title><content type="html">&lt;span style="font-weight: bold;"&gt;Input file:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat file.txt&lt;br /&gt;4590:21333 2ewwq13232&lt;br /&gt;12ada1212w1 1&lt;br /&gt;13224 9#09io#&lt;br /&gt;qw2323000 9023&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Required:&lt;/span&gt; From the above file only keep the digits (i.e. remove all other characters except digits)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Way1:&lt;/span&gt; Using python &lt;a href="http://docs.python.org/library/re.html"&gt;Regular Expression&lt;/a&gt; special character '\D' which matches any non-digit character (equivalent to the set [^0-9])&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python&lt;br /&gt;Python 2.5.2 (r252:60911, Jul 22 2009, 15:35:03)&lt;br /&gt;[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] on linux2&lt;br /&gt;&gt;&gt;&gt; import re&lt;br /&gt;&gt;&gt;&gt; for line in open('file.txt'):&lt;br /&gt;...     re.sub("\D", "",line)&lt;br /&gt;...&lt;br /&gt;'459021333213232'&lt;br /&gt;'12121211'&lt;br /&gt;'13224909'&lt;br /&gt;'23230009023'&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Another way :&lt;/span&gt; Using &lt;a href="http://docs.python.org/library/functions.html#filter"&gt;python filter&lt;/a&gt; built-in function to iterate isdigit() on all lines of the file.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&gt;&gt;&gt; for line in open('file.txt'):&lt;br /&gt;...     filter(lambda x: x.isdigit(), line)&lt;br /&gt;...&lt;br /&gt;'459021333213232'&lt;br /&gt;'12121211'&lt;br /&gt;'13224909'&lt;br /&gt;'23230009023'&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-97605715915470195?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aCaLGgjKCS5rBKt0qcTbAgTXnwo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aCaLGgjKCS5rBKt0qcTbAgTXnwo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aCaLGgjKCS5rBKt0qcTbAgTXnwo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aCaLGgjKCS5rBKt0qcTbAgTXnwo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/NGe61GcXvXA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/97605715915470195/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=97605715915470195&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/97605715915470195?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/97605715915470195?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/NGe61GcXvXA/remove-all-except-digits-using-python.html" title="Remove all except digits using python" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/11/remove-all-except-digits-using-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8NQ3g6fip7ImA9WxNaEk0.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-5368123880229281139</id><published>2009-11-25T19:55:00.000-08:00</published><updated>2009-11-25T19:58:12.616-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-25T19:58:12.616-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python replace" /><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python strip" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python write file" /><title>Change file delimiter using Python</title><content type="html">Input file is comma delimited:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat /tmp/file.txt&lt;br /&gt;5232,92338,84545,34,&lt;br /&gt;2233,25644,23233,23,&lt;br /&gt;6211,1212,4343,434,&lt;br /&gt;2434,621171,9121,33,&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Required:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Convert the above comma(,) delimited file to a colon(:) delimited file such that there is no colon at the end of each line.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Python solution:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python&lt;br /&gt;Python 2.5.2 (r252:60911, Jul 22 2009, 15:35:03)&lt;br /&gt;[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] on linux2&lt;br /&gt;Type "help", "copyright", "credits" or "license" for more information.&lt;br /&gt;&gt;&gt;&gt; fp = open("/tmp/file.txt.new","w")&lt;br /&gt;&gt;&gt;&gt; for line in open('/tmp/file.txt'):&lt;br /&gt;...     fp.write(line.strip()[:-1].replace(',',':')+'\n')&lt;br /&gt;...&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Output:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat /tmp/file.txt.new&lt;br /&gt;5232:92338:84545:34&lt;br /&gt;2233:25644:23233:23&lt;br /&gt;6211:1212:4343:434&lt;br /&gt;2434:621171:9121:33&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Alternative solutions:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An alternative using UNIX sed will be:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; sed -e 's/,/:/g' -e 's/:$//g' /tmp/file.txt&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And a related post using UNIX awk can be found on my bash scripting blog &lt;a href="http://unstableme.blogspot.com/2008/01/awk-change-field-separator-add-line.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-5368123880229281139?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HrLb0Ngd7sZtNh9vbIU6Fo1mglk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HrLb0Ngd7sZtNh9vbIU6Fo1mglk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HrLb0Ngd7sZtNh9vbIU6Fo1mglk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HrLb0Ngd7sZtNh9vbIU6Fo1mglk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/I9lmSK6rQh0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/5368123880229281139/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=5368123880229281139&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/5368123880229281139?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/5368123880229281139?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/I9lmSK6rQh0/change-file-delimiter-using-python.html" title="Change file delimiter using Python" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/11/change-file-delimiter-using-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYAQ3Y8fSp7ImA9WxNUE00.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-208540712165651125</id><published>2009-11-03T20:09:00.000-08:00</published><updated>2009-11-03T20:15:42.875-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-03T20:15:42.875-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python len" /><category scheme="http://www.blogger.com/atom/ns#" term="python readlines" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python startswith" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><category scheme="http://www.blogger.com/atom/ns#" term="python range" /><category scheme="http://www.blogger.com/atom/ns#" term="python write file" /><category scheme="http://www.blogger.com/atom/ns#" term="python if" /><title>Print line next to pattern in python</title><content type="html">&lt;span style="font-weight: bold;"&gt;Input file:&lt;/span&gt; 'file.txt' contains results of a set of students in the following format (i.e. for any student result precedes the student id)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat file.txt&lt;br /&gt;Result:Pass&lt;br /&gt;id:502&lt;br /&gt;Result:Fail&lt;br /&gt;id:909&lt;br /&gt;Result:Pass&lt;br /&gt;id:503&lt;br /&gt;Result:Pass&lt;br /&gt;id:501&lt;br /&gt;Result:Fail&lt;br /&gt;id:802&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Required:&lt;/span&gt; Print the Ids of the students who have passed the exam.&lt;br /&gt;&lt;br /&gt;The python program:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;fp = open("passedids.txt","w")&lt;br /&gt;data = open("file.txt").readlines()&lt;br /&gt;for i in range(len(data)):&lt;br /&gt;        if data[i].startswith("Result:Pass"):&lt;br /&gt;                fp.write(data[i+1].split(":")[1])&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python printnext.py&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat passedids.txt&lt;br /&gt;502&lt;br /&gt;503&lt;br /&gt;501&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Another python alternative:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;fp=open('file.txt','r')&lt;br /&gt;previous_line = ""&lt;br /&gt;&lt;br /&gt;for current_line in fp:&lt;br /&gt;    if 'Result:Pass' in previous_line:&lt;br /&gt;        print current_line.split(":")[1],&lt;br /&gt;    previous_line = current_line&lt;br /&gt;fp.close()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python printnext1.py&lt;br /&gt;502&lt;br /&gt;503&lt;br /&gt;501&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Related post:&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/10/print-line-above-pattern-in-python.html"&gt;Print line above pattern in python&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-208540712165651125?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AF9jVr7dVUT2Ihf8fGtNoi_x-Wc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AF9jVr7dVUT2Ihf8fGtNoi_x-Wc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AF9jVr7dVUT2Ihf8fGtNoi_x-Wc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AF9jVr7dVUT2Ihf8fGtNoi_x-Wc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/Ml4W1UBUuVI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/208540712165651125/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=208540712165651125&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/208540712165651125?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/208540712165651125?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/Ml4W1UBUuVI/print-line-next-to-pattern-in-python.html" title="Print line next to pattern in python" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/11/print-line-next-to-pattern-in-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQAQXs4fip7ImA9WxNUEEk.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-3877223565530639589</id><published>2009-10-31T20:45:00.000-07:00</published><updated>2009-10-31T20:49:00.536-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-31T20:49:00.536-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python readlines" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python enumerate" /><category scheme="http://www.blogger.com/atom/ns#" term="python write file" /><category scheme="http://www.blogger.com/atom/ns#" term="python if" /><title>Python - print section of file using line number</title><content type="html">e.g. Print the section of input file 'input.txt' between line number 22 and 89.&lt;br /&gt;&lt;br /&gt;Using python enumerate function sequence numbers:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;for i,line in enumerate(open("file.txt")):&lt;br /&gt;    if i &amp;gt;= 21 and i &amp;lt; 89 :&lt;br /&gt;        print line,&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And if you want to write the section to a new file say '/tmp/fileA'&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;fp = open("/tmp/fileA","w")&lt;br /&gt;for i,line in enumerate(open("file.txt")):&lt;br /&gt;    if i &amp;gt;= 21 and i &amp;lt; 89 :&lt;br /&gt;        fp.write(line)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Another approach:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;print(''.join(open('file.txt', 'r').readlines()[21:89])),&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And if you wish to write the section to a new file say '/tmp/fileB'&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;fp = open("/tmp/fileB","w")&lt;br /&gt;fp.write(''.join(open('file.txt', 'r').readlines()[21:89])),&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Read about python enumerate function &lt;a href="http://docs.python.org/library/functions.html#enumerate"&gt;here&lt;/a&gt; and below is a small example using python enumerate function:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; for i, student in enumerate(['Alex', 'Ryan', 'Deb']):&lt;br /&gt;...     print i, student&lt;br /&gt;...&lt;br /&gt;0 Alex&lt;br /&gt;1 Ryan&lt;br /&gt;2 Deb&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Also &lt;a href="http://unstableme.blogspot.com/2009/10/extract-range-of-lines-using-sed-awk.html"&gt;find &lt;/a&gt;my other post on Extracting section of a file using line numbers applying awk, sed, Perl, vi editor and UNIX/Linux head and tail command techniques.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-3877223565530639589?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QEHpOcr4-XpGGhsIbAHfkqIefE0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QEHpOcr4-XpGGhsIbAHfkqIefE0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QEHpOcr4-XpGGhsIbAHfkqIefE0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QEHpOcr4-XpGGhsIbAHfkqIefE0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/BhnznaP64AQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/3877223565530639589/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=3877223565530639589&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/3877223565530639589?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/3877223565530639589?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/BhnznaP64AQ/python-print-section-of-file-using-line.html" title="Python - print section of file using line number" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/10/python-print-section-of-file-using-line.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4FQXk9fyp7ImA9WxNVFE0.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-3146582387051069538</id><published>2009-10-24T10:39:00.000-07:00</published><updated>2009-10-24T10:55:10.767-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-24T10:55:10.767-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python reduce" /><category scheme="http://www.blogger.com/atom/ns#" term="python lambda" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python functions" /><title>Python - Adding numbers in a list</title><content type="html">Lets see some of ways in python to add the numbers present in a list.&lt;br /&gt;&lt;br /&gt;Suppose:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; numlist = [10,20,5,30]&lt;br /&gt;&gt;&gt;&gt; numlist&lt;br /&gt;[10, 20, 5, 30]&lt;br /&gt;&gt;&gt;&gt; print sum(numlist)&lt;br /&gt;65&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Using python built in function '&lt;a href="http://docs.python.org/library/functions.html#reduce"&gt;reduce&lt;/a&gt;'&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; numlist&lt;br /&gt;[10, 20, 5, 30]&lt;br /&gt;&gt;&gt;&gt; def add(x, y): return x + y&lt;br /&gt;...&lt;br /&gt;&gt;&gt;&gt; sum = reduce(add, numlist)&lt;br /&gt;&gt;&gt;&gt; sum&lt;br /&gt;65&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Enhancing the above using python '&lt;a href="http://diveintopython.org/power_of_introspection/lambda_functions.html"&gt;lambda'&lt;/a&gt; function&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; numlist&lt;br /&gt;[10, 20, 5, 30]&lt;br /&gt;&gt;&gt;&gt; reduce(lambda b,a: a+b, numlist)&lt;br /&gt;65&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Or using python for loop:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; numlist&lt;br /&gt;[10, 20, 5, 30]&lt;br /&gt;&gt;&gt;&gt; sum = 0&lt;br /&gt;&gt;&gt;&gt; for i in numlist:&lt;br /&gt;...     sum += i&lt;br /&gt;...&lt;br /&gt;&gt;&gt;&gt; sum&lt;br /&gt;65&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-3146582387051069538?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3fUTZVdISR7MsL1EdeOu5dzDKlc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3fUTZVdISR7MsL1EdeOu5dzDKlc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3fUTZVdISR7MsL1EdeOu5dzDKlc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3fUTZVdISR7MsL1EdeOu5dzDKlc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/zVxvtUjeio0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/3146582387051069538/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=3146582387051069538&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/3146582387051069538?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/3146582387051069538?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/zVxvtUjeio0/python-adding-numbers-in-list.html" title="Python - Adding numbers in a list" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/10/python-adding-numbers-in-list.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08HQ3c9eCp7ImA9WxNWF0w.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-3977348846992697140</id><published>2009-10-16T10:39:00.000-07:00</published><updated>2009-10-16T10:57:12.960-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-16T10:57:12.960-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python time module" /><category scheme="http://www.blogger.com/atom/ns#" term="python command line" /><category scheme="http://www.blogger.com/atom/ns#" term="python getopt" /><category scheme="http://www.blogger.com/atom/ns#" term="python string methods" /><category scheme="http://www.blogger.com/atom/ns#" term="python str" /><category scheme="http://www.blogger.com/atom/ns#" term="python strftime function" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python map" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><category scheme="http://www.blogger.com/atom/ns#" term="python functions" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><title>Python - time difference between dates</title><content type="html">&lt;span style="font-weight: bold;"&gt;Required: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Find the time difference between two dates (of following format) in seconds and in hh:mm:ss format.&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;br /&gt;date1='Oct/09/2009  10:58:01' and&lt;br /&gt;date2='Oct/10/2009  12:17:10'&lt;br /&gt;&lt;br /&gt;find the difference between date1 and date2 in seconds(i.e. 91149 seconds) and later convert it to hh:mm:ss format (i.e. 25:19:09).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The complete python program:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import sys,time,string,getopt&lt;br /&gt;&lt;br /&gt;def usage():&lt;br /&gt;    print "Usage: adbtimediff.py -f &amp;lt;fromTime&amp;gt; -t &amp;lt;toTime&amp;gt; \n"&lt;br /&gt;    sys.exit(2)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def parse_args():&lt;br /&gt;    global fromTime,toTime&lt;br /&gt;    fromTime = toTime = ""&lt;br /&gt;&lt;br /&gt;    try:&lt;br /&gt;        opts, args = getopt.getopt(sys.argv[1:], "f:t:", ["fromtime", "totime"])&lt;br /&gt;    except getopt.GetoptError:&lt;br /&gt;        print "Invalid arguments, exiting"&lt;br /&gt;        sys.exit(2)&lt;br /&gt;&lt;br /&gt;    for arg, val in opts:&lt;br /&gt;        if  arg in ("-f","--fromtime"):&lt;br /&gt;            fromTime = val&lt;br /&gt;        elif arg in ("-t","--totime"):&lt;br /&gt;            toTime = val&lt;br /&gt;&lt;br /&gt;    if fromTime == toTime == "" :&lt;br /&gt;        usage()&lt;br /&gt;&lt;br /&gt;def compute_time(time1):&lt;br /&gt;    t = time1.split(':')&lt;br /&gt;    return time.mktime(time.strptime(":".join(t[0:len(t)]),"%b/%d/%Y %H:%M:%S"))&lt;br /&gt;&lt;br /&gt;def subtract(list):&lt;br /&gt;    return list[1] - list[0]&lt;br /&gt;&lt;br /&gt;def time_convert(secs):&lt;br /&gt;    secs = int(secs)&lt;br /&gt;    mins = secs // 60&lt;br /&gt;    hrs = mins // 60&lt;br /&gt;    return "%02d:%02d:%02d" % (hrs, mins % 60, secs % 60)&lt;br /&gt;&lt;br /&gt;def main():&lt;br /&gt;    parse_args()&lt;br /&gt;    print "Fromtime : " + str(fromTime) + '\n' + "Totime : " + str(toTime)&lt;br /&gt;    timelist = [ fromTime, toTime ]&lt;br /&gt;    s = map(compute_time,timelist)&lt;br /&gt;    d = subtract(s)&lt;br /&gt;    print "diff in seconds : " + str(d)&lt;br /&gt;    f = str(d).split('.')&lt;br /&gt;    final = time_convert(f[0])&lt;br /&gt;    print "Total difference in required format : " + str(final)&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Executing the above script:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python timediff.py -f 'Oct/09/2009  10:58:01' -t 'Oct/10/2009  12:17:10'&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;&lt;br /&gt;Fromtime : Oct/09/2009  10:58:01&lt;br /&gt;Totime : Oct/10/2009  12:17:10&lt;br /&gt;diff in seconds : 91149.0&lt;br /&gt;Total difference in required format : 25:19:09&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Related concepts and posts:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/10/python-seconds-to-hh-mm-ss-conversion.html"&gt;Convert seconds to hh:mm:ss format using python&lt;/a&gt;&lt;br /&gt;- Python &lt;a href="http://docs.python.org/library/time.html#time.mktime"&gt;time.mktime&lt;/a&gt;&lt;br /&gt;- Python &lt;a href="http://docs.python.org/library/time.html#time.strftime"&gt;time.strftime&lt;/a&gt;&lt;br /&gt;- Python &lt;a href="http://docs.python.org/library/functions.html#map"&gt;map&lt;/a&gt;&lt;br /&gt;- Python &lt;a href="http://docs.python.org/library/getopt.html"&gt;getopt&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-3977348846992697140?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6dM1oJtmVUpWphFGEHcbr6uaISE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6dM1oJtmVUpWphFGEHcbr6uaISE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6dM1oJtmVUpWphFGEHcbr6uaISE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6dM1oJtmVUpWphFGEHcbr6uaISE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/vd7krA8TRUU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/3977348846992697140/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=3977348846992697140&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/3977348846992697140?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/3977348846992697140?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/vd7krA8TRUU/python-time-difference-between-dates.html" title="Python - time difference between dates" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/10/python-time-difference-between-dates.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UMQ3s_fyp7ImA9WxNWFUk.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-2027134024732822192</id><published>2009-10-14T11:29:00.000-07:00</published><updated>2009-10-14T11:34:42.547-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-14T11:34:42.547-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python time module" /><category scheme="http://www.blogger.com/atom/ns#" term="python datetime module" /><category scheme="http://www.blogger.com/atom/ns#" term="python timedelta" /><category scheme="http://www.blogger.com/atom/ns#" term="python command line" /><category scheme="http://www.blogger.com/atom/ns#" term="python strftime function" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><title>Python - seconds to hh-mm-ss conversion</title><content type="html">Solution1: Using python 'time' module &lt;a href="http://docs.python.org/library/time.html#time.strftime"&gt;strftime&lt;/a&gt; function.&lt;br /&gt;&lt;pre&gt; &lt;br /&gt;Python 2.5.2 (r252:60911, Jul 22 2009, 15:35:03)&lt;br /&gt;[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] on linux2&lt;br /&gt;Type "help", "copyright", "credits" or "license" for more information.&lt;br /&gt;&gt;&gt;&gt; import time&lt;br /&gt;&gt;&gt;&gt; time.strftime('%H:%M:%S', time.gmtime(7302))&lt;br /&gt;'02:01:42'&lt;br /&gt;&gt;&gt;&gt; time.strftime('%H:%M:%S', time.gmtime(86399))&lt;br /&gt;'23:59:59'&lt;br /&gt;&gt;&gt;&gt; time.strftime('%H:%M:%S', time.gmtime(86405))&lt;br /&gt;'00:00:05'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So as seen above this solution works only for num seconds &lt; 1 day (86400 seconds)&lt;br /&gt;&lt;br /&gt;Solution2: Using python datetime module, &lt;a href="http://docs.python.org/library/datetime.html#timedelta-objects"&gt;timedelta&lt;/a&gt; object.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; import datetime&lt;br /&gt;&gt;&gt;&gt; x = datetime.timedelta(seconds=7302)&lt;br /&gt;&gt;&gt;&gt; str(x)&lt;br /&gt;'2:01:42'&lt;br /&gt;&gt;&gt;&gt; x = datetime.timedelta(seconds=86399)&lt;br /&gt;&gt;&gt;&gt; str(x)&lt;br /&gt;'23:59:59'&lt;br /&gt;&gt;&gt;&gt; x = datetime.timedelta(seconds=86405)&lt;br /&gt;&gt;&gt;&gt; str(x)&lt;br /&gt;'1 day, 0:00:05'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Solution3: Using normal division in python&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import sys&lt;br /&gt;&lt;br /&gt;secs = int(sys.argv[1])&lt;br /&gt;mins = secs // 60&lt;br /&gt;hrs = mins // 60&lt;br /&gt;&lt;br /&gt;#hh:mm:ss&lt;br /&gt;print "%02d:%02d:%02d" % (hrs, mins % 60, secs % 60)&lt;br /&gt;&lt;br /&gt;#mm:ss&lt;br /&gt;print "%02d:%02d" % (mins, secs % 60)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;$&lt;/span&gt; python timeconv.py 7302&lt;br /&gt;02:01:42&lt;br /&gt;121:42&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;$&lt;/span&gt; python timeconv.py 86399&lt;br /&gt;23:59:59&lt;br /&gt;1439:59&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;$&lt;/span&gt; python timeconv.py 86405&lt;br /&gt;24:00:05&lt;br /&gt;1440:05&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-2027134024732822192?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jnc7elcVc8L0EtNhSFq5DwMcBWg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jnc7elcVc8L0EtNhSFq5DwMcBWg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jnc7elcVc8L0EtNhSFq5DwMcBWg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jnc7elcVc8L0EtNhSFq5DwMcBWg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/EXPuTNCHYt4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/2027134024732822192/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=2027134024732822192&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/2027134024732822192?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/2027134024732822192?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/EXPuTNCHYt4/python-seconds-to-hh-mm-ss-conversion.html" title="Python - seconds to hh-mm-ss conversion" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/10/python-seconds-to-hh-mm-ss-conversion.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQNRn4-fyp7ImA9WxNXGUo.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-8492551444130839247</id><published>2009-10-07T20:39:00.000-07:00</published><updated>2009-10-07T20:43:17.057-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-07T20:43:17.057-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python readlines" /><category scheme="http://www.blogger.com/atom/ns#" term="python strip" /><category scheme="http://www.blogger.com/atom/ns#" term="python startswith" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><category scheme="http://www.blogger.com/atom/ns#" term="python write file" /><category scheme="http://www.blogger.com/atom/ns#" term="python if" /><title>Print line above pattern in python</title><content type="html">Input file: 'data.txt' contains results of a set of students in the following format.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat data.txt&lt;br /&gt;id:502&lt;br /&gt;Result:Pass&lt;br /&gt;id:909&lt;br /&gt;Result:Fail&lt;br /&gt;id:503&lt;br /&gt;Result:Pass&lt;br /&gt;id:501&lt;br /&gt;Result:Pass&lt;br /&gt;id:802&lt;br /&gt;Result:Fail&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Required:&lt;/span&gt;&lt;br /&gt;Print the Ids of the students who have passed the exam.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The python program:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;fp = open("passedids.txt","w")&lt;br /&gt;data = open("data.txt").readlines()&lt;br /&gt;for i in range(len(data)):&lt;br /&gt;        if data[i].startswith("Result:Pass"):&lt;br /&gt;                fp.write(data[i-1].split(":")[1])&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Output:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat passedids.txt&lt;br /&gt;502&lt;br /&gt;503&lt;br /&gt;501&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-8492551444130839247?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bUjcRqG7_wkD6jExasqH_JsQUWA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bUjcRqG7_wkD6jExasqH_JsQUWA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bUjcRqG7_wkD6jExasqH_JsQUWA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bUjcRqG7_wkD6jExasqH_JsQUWA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/WP83EEogoaI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/8492551444130839247/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=8492551444130839247&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/8492551444130839247?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/8492551444130839247?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/WP83EEogoaI/print-line-above-pattern-in-python.html" title="Print line above pattern in python" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/10/print-line-above-pattern-in-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0INRn88fip7ImA9WxNXGEg.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-7487682098312627150</id><published>2009-10-06T10:49:00.000-07:00</published><updated>2009-10-06T10:53:17.176-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-06T10:53:17.176-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python readlines" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python startswith" /><category scheme="http://www.blogger.com/atom/ns#" term="python if" /><title>Python - delete lines between two pattern</title><content type="html">&lt;span style="font-weight: bold;"&gt;Input file:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat input.txt&lt;br /&gt;test1&lt;br /&gt;test2&lt;br /&gt;test3&lt;br /&gt;BEGIN&lt;br /&gt;test4&lt;br /&gt;test5&lt;br /&gt;test6&lt;br /&gt;END&lt;br /&gt;test7&lt;br /&gt;test8&lt;br /&gt;test9&lt;br /&gt;BEGIN&lt;br /&gt;test10&lt;br /&gt;test11&lt;br /&gt;END&lt;br /&gt;test12&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Required:&lt;/span&gt;&lt;br /&gt;From the above file delete the lines which are between a BEGIN-END block and print rest of the lines.&lt;br /&gt;&lt;br /&gt;The python script deleteline.py:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;flag = 1&lt;br /&gt;linelist = open("input.txt").readlines()&lt;br /&gt;for line in linelist:&lt;br /&gt;    if line.startswith("BEGIN"):&lt;br /&gt;        flag = 0&lt;br /&gt;    if line.startswith("END"):&lt;br /&gt;        flag = 1&lt;br /&gt;    if flag and not line.startswith("END"):&lt;br /&gt;       print line,&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;$&lt;/span&gt; python deleteline.py&lt;br /&gt;test1&lt;br /&gt;test2&lt;br /&gt;test3&lt;br /&gt;test7&lt;br /&gt;test8&lt;br /&gt;test9&lt;br /&gt;test12&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now if we need to print the lines which are between a BEGIN-END block.&lt;br /&gt;Here is a modification of the above scirpt.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;flag = 1&lt;br /&gt;linelist = open("input.txt").readlines()&lt;br /&gt;for line in linelist:&lt;br /&gt;    if line.startswith("BEGIN"):&lt;br /&gt;        flag = 0&lt;br /&gt;    if line.startswith("END"):&lt;br /&gt;        flag = 1&lt;br /&gt;    if not flag and not line.startswith("BEGIN"):&lt;br /&gt;       print line,&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python printline.py&lt;br /&gt;test4&lt;br /&gt;test5&lt;br /&gt;test6&lt;br /&gt;test10&lt;br /&gt;test11&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Related post:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/05/lookup-file-operation-using-python.html"&gt;Lookup &lt;/a&gt;file operation using python&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-7487682098312627150?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/J4nFSKrgqGH_QjnL17-ocRlWp2g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J4nFSKrgqGH_QjnL17-ocRlWp2g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/J4nFSKrgqGH_QjnL17-ocRlWp2g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J4nFSKrgqGH_QjnL17-ocRlWp2g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/38sa1DersT0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/7487682098312627150/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=7487682098312627150&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/7487682098312627150?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/7487682098312627150?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/38sa1DersT0/python-delete-lines-between-two-pattern.html" title="Python - delete lines between two pattern" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/10/python-delete-lines-between-two-pattern.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUCQHgycCp7ImA9WxNQGEg.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-5990492108495249129</id><published>2009-09-24T20:35:00.000-07:00</published><updated>2009-09-24T20:44:21.698-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-24T20:44:21.698-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python swapcase" /><category scheme="http://www.blogger.com/atom/ns#" term="python uppercase" /><category scheme="http://www.blogger.com/atom/ns#" term="python string methods" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python capitalize" /><category scheme="http://www.blogger.com/atom/ns#" term="python lowercase" /><category scheme="http://www.blogger.com/atom/ns#" term="python titlecase" /><title>Python string methods for case conversion</title><content type="html">Few important python string methods for case conversion.&lt;br /&gt;&lt;br /&gt;swapcase()&lt;br /&gt;Return a copy of the string with uppercase characters converted to lowercase and vice versa.&lt;br /&gt;&lt;br /&gt;upper()&lt;br /&gt;Return a copy of the string converted to uppercase.&lt;br /&gt;&lt;br /&gt;title()&lt;br /&gt;Return a titlecased version of the string: words start with uppercase characters, all remaining cased characters are lowercase.&lt;br /&gt;&lt;br /&gt;lower()&lt;br /&gt;Return a copy of the string converted to lowercase.&lt;br /&gt;&lt;br /&gt;capitalize( )&lt;br /&gt;Return a copy of the string with only its first character capitalized.&lt;br /&gt;&lt;br /&gt;On python prompt:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; s='www.ExAmple.cOM'&lt;br /&gt;&gt;&gt;&gt; s&lt;br /&gt;'www.ExAmple.cOM'&lt;br /&gt;&gt;&gt;&gt; s.swapcase()&lt;br /&gt;'WWW.eXaMPLE.Com'&lt;br /&gt;&gt;&gt;&gt; s.upper()&lt;br /&gt;'WWW.EXAMPLE.COM'&lt;br /&gt;&gt;&gt;&gt; s.lower()&lt;br /&gt;'www.example.com'&lt;br /&gt;&gt;&gt;&gt; s.title()&lt;br /&gt;'Www.Example.Com'&lt;br /&gt;&gt;&gt;&gt; s.capitalize()&lt;br /&gt;'Www.example.com'&lt;br /&gt;&gt;&gt;&gt; st="This is the Best"&lt;br /&gt;&gt;&gt;&gt; st.capitalize()&lt;br /&gt;'This is the best'&lt;br /&gt;&gt;&gt;&gt; st.title()&lt;br /&gt;'This Is The Best'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-5990492108495249129?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0N7PTEDk0nDpYUQpG7j58yoxHF0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0N7PTEDk0nDpYUQpG7j58yoxHF0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0N7PTEDk0nDpYUQpG7j58yoxHF0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0N7PTEDk0nDpYUQpG7j58yoxHF0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/Yyek_X1F5H4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/5990492108495249129/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=5990492108495249129&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/5990492108495249129?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/5990492108495249129?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/Yyek_X1F5H4/python-string-methods-for-case.html" title="Python string methods for case conversion" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/09/python-string-methods-for-case.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MHSXc6fSp7ImA9WxNQEEo.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-9062585375148919725</id><published>2009-09-15T21:07:00.000-07:00</published><updated>2009-09-15T21:30:38.915-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-15T21:30:38.915-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python command line" /><category scheme="http://www.blogger.com/atom/ns#" term="python strip" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><category scheme="http://www.blogger.com/atom/ns#" term="python functions" /><title>Find text string in file in Python</title><content type="html">Each line of file "querymapping.txt" contains two fields.&lt;br /&gt;1st field is a sql query and&lt;br /&gt;2nd one is a filename where the output of that sql query is stored.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat querymapping.txt&lt;br /&gt;select * from tab_fan_details;|/tmp/query7&lt;br /&gt;select * from tab_fan_speed_details;|/tmp/query4&lt;br /&gt;select * from tab_fan_spec;|/tmp/query1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Required:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Write a python function to look-up a particular sql query (send as 1st argument to the script ) in the querymapping.txt file and return the query output filename. If no match found return default filename as '/tmp/query0'&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The python program:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import sys&lt;br /&gt;default='/tmp/query0'&lt;br /&gt;&lt;br /&gt;def lookupfilename(query):&lt;br /&gt;    '''Lookup query output filename from query'''&lt;br /&gt;    for line in open('querymapping.txt'):&lt;br /&gt;        if query.strip() in line.strip().split("|")[0]:&lt;br /&gt;            return line.strip().split("|")[1]&lt;br /&gt;    return default&lt;br /&gt;&lt;br /&gt;fname=lookupfilename(sys.argv[1])&lt;br /&gt;print fname&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Executing the script:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python qlookup.py "select * from tab_fan_speed_details;"&lt;br /&gt;/tmp/query4&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python qlookup.py "select * from tab_fan_speed_details_new;"&lt;br /&gt;/tmp/query0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Related post:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/05/lookup-file-in-python-using-dictionary.html"&gt;Lookup file in python using dictionary&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-9062585375148919725?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7GDYqrbpm4g3Yj5XctsK6J4rfw0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7GDYqrbpm4g3Yj5XctsK6J4rfw0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7GDYqrbpm4g3Yj5XctsK6J4rfw0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7GDYqrbpm4g3Yj5XctsK6J4rfw0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/ndlXwwQFtBI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/9062585375148919725/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=9062585375148919725&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/9062585375148919725?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/9062585375148919725?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/ndlXwwQFtBI/find-text-string-in-file-in-python.html" title="Find text string in file in Python" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/09/find-text-string-in-file-in-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYDQXY5eSp7ImA9WxNRGU0.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-6629159899164299165</id><published>2009-09-13T21:16:00.000-07:00</published><updated>2009-09-13T21:22:50.821-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-13T21:22:50.821-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python sys module" /><category scheme="http://www.blogger.com/atom/ns#" term="python os module" /><category scheme="http://www.blogger.com/atom/ns#" term="python command line" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python file read" /><category scheme="http://www.blogger.com/atom/ns#" term="python file readline" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python exceptions" /><category scheme="http://www.blogger.com/atom/ns#" term="python file objects" /><category scheme="http://www.blogger.com/atom/ns#" term="python file close" /><title>Print file content to output - Python</title><content type="html">Required: Write a python program to print the content of a file to output (same as Linux/UNIX cat command do)&lt;br /&gt;&lt;br /&gt;Way1: Using &lt;a href="http://docs.python.org/library/stdtypes.html#file.read"&gt;file.read&lt;/a&gt; file object in python&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import sys,os.path&lt;br /&gt;&lt;br /&gt;if len(sys.argv) &amp;lt; 2:&lt;br /&gt;   print 'No file specified'&lt;br /&gt;   sys.exit()&lt;br /&gt;else:&lt;br /&gt;   try:&lt;br /&gt;      f = open(sys.argv[1], 'r')&lt;br /&gt;      print f.read(),&lt;br /&gt;      f.close()&lt;br /&gt;   except IOError:&lt;br /&gt;      print "File" + sys.argv[1] + "does not exist."&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Execute it this way: To print the contents of file.txt to the output.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ python cat-read.py file.txt&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Way2: Another similar python program using &lt;a href="http://docs.python.org/library/stdtypes.html#file.readline"&gt;file.readline&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import sys&lt;br /&gt;&lt;br /&gt;def readfile(fname):&lt;br /&gt;   f = file(fname)&lt;br /&gt;   while True:&lt;br /&gt;      line = f.readline()&lt;br /&gt;      if len(line) == 0:&lt;br /&gt;         break&lt;br /&gt;      print line.strip() #Avoid strip: print line,&lt;br /&gt;   f.close()&lt;br /&gt;&lt;br /&gt;if len(sys.argv) &amp;lt; 2:&lt;br /&gt;   print 'No file specified'&lt;br /&gt;   sys.exit()&lt;br /&gt;else:&lt;br /&gt;   readfile(sys.argv[1])&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Read about python &lt;a href="http://docs.python.org/library/functions.html#file"&gt;file()&lt;/a&gt;&lt;br /&gt;In python 3.0 file() is removed.&lt;br /&gt;&lt;br /&gt;Related concepts:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Python file object &lt;a href="http://docs.python.org/library/stdtypes.html#file.close"&gt;file.close()&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Python File Objects described &lt;a href="http://docs.python.org/library/stdtypes.html#file-objects"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-6629159899164299165?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5tm96JOnuUW-uojsOVHIRnsDFIU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5tm96JOnuUW-uojsOVHIRnsDFIU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5tm96JOnuUW-uojsOVHIRnsDFIU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5tm96JOnuUW-uojsOVHIRnsDFIU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/QyEMu6bQ36I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/6629159899164299165/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=6629159899164299165&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/6629159899164299165?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/6629159899164299165?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/QyEMu6bQ36I/print-file-content-to-output-python.html" title="Print file content to output - Python" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/09/print-file-content-to-output-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAAQXYyeip7ImA9WxNSGUg.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-4891641957227877617</id><published>2009-09-02T21:51:00.000-07:00</published><updated>2009-09-02T21:55:40.892-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-02T21:55:40.892-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python readlines" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python file open" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><category scheme="http://www.blogger.com/atom/ns#" term="python list" /><category scheme="http://www.blogger.com/atom/ns#" term="python elif" /><category scheme="http://www.blogger.com/atom/ns#" term="python break" /><category scheme="http://www.blogger.com/atom/ns#" term="python if" /><category scheme="http://www.blogger.com/atom/ns#" term="python continue" /><title>Print last instance of file - python example</title><content type="html">Input file:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; cat data.txt&lt;br /&gt;k:begin:0&lt;br /&gt;i:0:66&lt;br /&gt;i:1:76&lt;br /&gt;k:end:0&lt;br /&gt;k:begin:7&lt;br /&gt;i:0:55&lt;br /&gt;i:1:65&lt;br /&gt;i:2:57&lt;br /&gt;k:end:7&lt;br /&gt;k:begin:2&lt;br /&gt;i:0:10&lt;br /&gt;i:1:0&lt;br /&gt;k:end:7&lt;br /&gt;k:begin:2&lt;br /&gt;i:0:46&lt;br /&gt;k:end:7&lt;br /&gt;k:begin:9&lt;br /&gt;i:0:66&lt;br /&gt;i:1:56&lt;br /&gt;i:2:46&lt;br /&gt;i:3:26&lt;br /&gt;k:end:7&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Required: Print last instance of the above file. One instance being from "k:begin" to "k:end"&lt;br /&gt;&lt;br /&gt;The python program:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;result =[]&lt;br /&gt;all = open("data.txt").readlines()&lt;br /&gt;for line in all[::-1]: #start from last ;proceed up&lt;br /&gt;        f=line.split(":")&lt;br /&gt;        if f[0]=="k" and f[1]=="end":&lt;br /&gt;                continue&lt;br /&gt;        elif f[0]=="k" and f[1]=="begin":&lt;br /&gt;                break&lt;br /&gt;        else: result.append(line)&lt;br /&gt;print result&lt;br /&gt;print "\nlast instance is\n"&lt;br /&gt;print ''.join(result[::-1]) #reverse&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Executing it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; python ins.py&lt;br /&gt;['i:3:26\n', 'i:2:46\n', 'i:1:56\n', 'i:0:66\n']&lt;br /&gt;&lt;br /&gt;last instance is&lt;br /&gt;&lt;br /&gt;i:0:66&lt;br /&gt;i:1:56&lt;br /&gt;i:2:46&lt;br /&gt;i:3:26&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Related post:&lt;br /&gt;- &lt;a href="http://pythonstarter.blogspot.com/2009/05/print-first-few-instances-of-file.html"&gt;Print first few instances from file using python&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-4891641957227877617?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/spldqMGhd2E9FAN2Lb880EApoxw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/spldqMGhd2E9FAN2Lb880EApoxw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/spldqMGhd2E9FAN2Lb880EApoxw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/spldqMGhd2E9FAN2Lb880EApoxw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/FlY7iFKb2r4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/4891641957227877617/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=4891641957227877617&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/4891641957227877617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/4891641957227877617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/FlY7iFKb2r4/print-last-instance-of-file-python.html" title="Print last instance of file - python example" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/09/print-last-instance-of-file-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEGQHw-fCp7ImA9WxNSGE8.&quot;"><id>tag:blogger.com,1999:blog-3580963069839202358.post-1649060439466173472</id><published>2009-09-01T11:08:00.000-07:00</published><updated>2009-09-01T11:10:21.254-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-01T11:10:21.254-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python os module" /><category scheme="http://www.blogger.com/atom/ns#" term="python join" /><category scheme="http://www.blogger.com/atom/ns#" term="python glob" /><category scheme="http://www.blogger.com/atom/ns#" term="python for loop" /><category scheme="http://www.blogger.com/atom/ns#" term="python newbie" /><category scheme="http://www.blogger.com/atom/ns#" term="python split" /><category scheme="http://www.blogger.com/atom/ns#" term="python rename" /><title>Truncate file extension using python glob</title><content type="html">My current directory contains the following 2 files.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;$&lt;/span&gt; ls -1&lt;br /&gt;20061117.dat.dat&lt;br /&gt;details.dat.dat.dat&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Required: Move(rename) the above files to single .dat extension  (e.g. details.dat.dat.dat to details.dat)&lt;br /&gt;The python code using glob module:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&gt;&gt;&gt; import os,glob&lt;br /&gt;&gt;&gt;&gt; for file in glob.glob("*.dat"):&lt;br /&gt;...     newF=".".join(file.split(".")[:2])&lt;br /&gt;...     os.rename(file,newF)&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$&lt;/span&gt; ls -1&lt;br /&gt;20061117.dat&lt;br /&gt;details.dat&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Using glob module we can use wildcards with Python according to the rules used by the Unix shell. More about it can be found &lt;a href="http://docs.python.org/library/glob.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Few more examples:&lt;br /&gt;&lt;br /&gt;# lists all files in the current directory&lt;br /&gt;glob.glob('*')    &lt;br /&gt;&lt;br /&gt;# returns all .dat extension files&lt;br /&gt;glob.glob('*.dat')  &lt;br /&gt;&lt;br /&gt;# lists all files starting with a letter, followed by 3 characters (numbers, letters) and any ending.&lt;br /&gt;glob.glob('[a-z]???.*')&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580963069839202358-1649060439466173472?l=pythonstarter.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oAJfEscl3o5gGhB3kE_7JIyGM1Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oAJfEscl3o5gGhB3kE_7JIyGM1Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oAJfEscl3o5gGhB3kE_7JIyGM1Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oAJfEscl3o5gGhB3kE_7JIyGM1Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/PythonBasicsForNewbies/~4/9O_B8CjslhU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pythonstarter.blogspot.com/feeds/1649060439466173472/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3580963069839202358&amp;postID=1649060439466173472&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/1649060439466173472?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3580963069839202358/posts/default/1649060439466173472?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PythonBasicsForNewbies/~3/9O_B8CjslhU/truncate-file-extension-using-python.html" title="Truncate file extension using python glob" /><author><name>Jadu Saikia</name><uri>http://www.blogger.com/profile/00278385409494551967</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="28" height="32" src="http://4.bp.blogspot.com/_yqqceaP4wog/TR9u0hQQFNI/AAAAAAAACug/8mt6wpsc8Lk/S220/Jadu%2BKumar%2BSaikia.png" /></author><thr:total>1</thr:total><feedburner:origLink>http://pythonstarter.blogspot.com/2009/09/truncate-file-extension-using-python.html</feedburner:origLink></entry></feed>

