# [Tutor] function won't import from module

Dick Moores rdm at rcblue.com
Tue Aug 9 06:41:37 CEST 2005

```I have a bunch of functions I've collected in one script, "mycalc.py",
which I use as a module, "mycalc". The last one I wrote, cmpSeq() is as
follows:

===========begin code==============
def cmpSeq(seq1, seq2):
"""
find first index at which two sequences differ
"""
if seq1 == seq2:
print "Sequences are identical, and of length %d" % len(seq1)
return None
if len(seq1) >= len(seq2):
shorterOrEqualSequence = seq2
else:
shorterOrEqualSequence = seq1

for index in range(len(shorterOrEqualSequence)):
if seq1[index] != seq2[index]:
print "sequences first differ at index", index
print "seq1[%d] = %s" % (index, seq1[index])
print "seq2[%d] = %s" % (index, seq2[index])
break

if index == len(shorterOrEqualSequence)-1:
print "sequences are identical thru end of shorter sequence at
index", index

print "len(seq1) =", len(seq1)
print "len(seq2) =", len(seq2)
========end code for cmpSeq()=========

In a script, cmpSeq() works fine. For example followed by

a = "qwertys"
b = "qxerty"
cmpSeq(a,b)

The output is:

sequences first differ at index 1
seq1 = w
seq2 = x
len(seq1) = 7
len(seq2) = 6

cmpSeq() is now copy-pasted into mycalc.py, but is not useable there:

#testof_cmpSeq.py
import mycalc
a = "qwerty"
b = "qxerty"
mycalc.cmpSeq(a,b)

which produces:

Traceback (most recent call last):
File "C:\Python24\MyScripts\testof_cmpSeq.py", line 1, in -toplevel-
from mycalc import cmpSeq
ImportError: cannot import name cmpSeq

However, other functions in mycalc work fine. For example:

#testof_print_hms
import mycalc

seconds = 87658
mycalc.print_hms(seconds)

This outputs   24 hours, 20 minutes, 58 seconds

That may have been a bit long-winded; if so, I apologize.

But would someone please point out why cmpSeq() can't be imported from
mycalc?

Thanks,

Dick Moores

```