On 8/12/2015 4:05 PM, Ltc Hotspot wrote:
On Wed, Aug 12, 2015 at 3:35 PM, MRAB <pyt...@mrabarnett.plus.com> wrote:
On 2015-08-12 22:16, Denis McMahon wrote:
[snip]
c = [0 for i in range(24)]
f = open(filename,'r')
for l in f:
h = int(l.strip().split()[X].split(':')[Y])
c[h] = c[h] + 1
f.close()
for i in range(24):
print '{:02d} {}'.format(i, c[i])
There's no need to strip whitespace just before splitting on it.
This:
l.strip().split()
can be shortened to this:
l.split()
--
https://mail.python.org/mailman/listinfo/python-list
MRAB,
The Revised code produces a traceback:
()
9
10 c = [0 for i in range(24)]
---> 11 f = open(filename,'r')
12 for l in f:
13 h = int(l.split()[X].split(':')[Y])
NameError: name 'filename' is not defined
So, read your posted code below and tell us where the label 'filename'
is defined. We can't find it. Neither can python. That's what the
error message means. Was that not clear? You do understand the
difference between text and labels, right? You have by now reviewed the
tutorial?
Emile
The revised code reads:
handle = """From stephen.marqu...@uct.ac.za Sat Jan 5 09:14:16 2008
From lo...@media.berkeley.edu Fri Jan 4 18:10:48 2008
""".split("\n")
# Snippet file data: mbox-short.txt
count = dict()
#fname = raw_input("Enter file name: ")# Add Snippet file
#handle = open (fname, 'r')# Add Snippet file
c = [0 for i in range(24)]
f = open(filename,'r')
for l in f:
h = int(l.split()[X].split(':')[Y])
c[h] = c[h] + 1
f.close()
for i in range(24):
print '{:02d} {}'.format(i, c[i])
How do I define the file name in order to remove the traceback?
Regards,
Hal
--
https://mail.python.org/mailman/listinfo/python-list