On Dec 10, 12:41 pm, Matt_D <[EMAIL PROTECTED]> wrote: > Good afternoon. > > As a self-tutoring project I am writing a one-time-pad encrypt/decrypt > script. I have completed the encryption portion and am working > currently on the decryption algorithm. My goal is to have the encrypt > and decrypt be individual modules vice two parts of the same. > > My problem, or perhaps more accurately, question, lies in importing a > function from the otp_encrypt script. Here is the function I am > attempting to call: > > def get_key(ptext): > """Convert one-time-pad to uppercase, and strip spaces. On final > line slice pad to match length of plain text. (OTP will not work if > len(pad) != len(plaintext)""" > ptext = upper_case(ptext) > otp = # key removed just due to sheer length > otp = string.upper(otp) > new = "" > for letter in otp: > if letter in string.uppercase: > new += letter > return new[:len(ptext)] > > The parameter of get_key is sys.argv[1]. Now I understand why I'm > getting the errors I'm getting (invalid syntax if I include () or > ([parameter], or an IndexError if I don't include those), but my > question is, is it feasible to import a function from a module when > that function requires a parameter from elsewhere in the imported > module? Or is it just better to just import * in all cases?
How is it requiring parameters from the module you are calling ? Do you mean you just want to import the get_key() function by itself and leave the rest of the module ? # get_key.py import re def get_key(ptext): otp = # Seriously large key. return ''.join(re.findall('[A-Z]', otp.upper())[:len(ptext)] That's what your code looks like it's doing... # otp_encrypt.py from get_key import get_key """Alternatively you can do import get_key getkey = get_key.get_key """ I not entirely sure if that is of help to you. -- http://mail.python.org/mailman/listinfo/python-list