My first ever Python program, comments welcome

Lipska the Kat lipska at lipskathekat.com
Sat Jul 21 21:08:07 CEST 2012


Greetings Pythoners

A short while back I posted a message that described a task I had set 
myself. I wanted to implement the following bash shell script in Python

Here's the script

sort -nr $1 | head -${2:-10}

this script takes a filename and an optional number of lines to display
and sorts the lines in numerical order, printing them to standard out.
if no optional number of lines are input the script prints 10 lines

Here's the file.

50	Parrots
12	Storage Jars
6	Lemon Currys
2	Pythons
14	Spam Fritters
23	Flying Circuses
1	Meaning Of Life
123	Holy Grails
76	Secret Policemans Balls
8	Something Completely Differents
12	Lives of Brian
49	Spatulas


... and here's my very first attempt at a Python program
I'd be interested to know what you think, you can't hurt my feelings
just be brutal (but fair). There is very little error checking as you 
can see and I'm sure you can crash the program easily.
'Better' implementations most welcome

#! /usr/bin/env python3.2

import fileinput
from sys import argv
from operator import itemgetter

l=[]
t = tuple
filename=argv[1]
lineCount=10

with fileinput.input(files=(filename)) as f:
	for line in f:
		t=(line.split('\t'))
		t[0]=int(t[0])
		l.append(t)
	l=sorted(l, key=itemgetter(0))

	try:	
		inCount = int(argv[2])
		lineCount = inCount
	except IndexError:
		#just catch the error and continue		
		None

	for c in range(lineCount):
		t=l[c]
		print(t[0], t[1], sep='\t', end='')

Thanks

Lipska


-- 
Lipska the Kat: Troll hunter, Sandbox destroyer
and Farscape dreamer of Aeryn Sun.



More information about the Python-list mailing list