Используйте переменные в качестве параметра в импортируемой функции - PullRequest
0 голосов
/ 29 апреля 2020

Я довольно новичок в python, так что это может быть действительно очевидное и простое решение, но вот оно: я создал собственный модуль, импортировал его в другой скрипт [script2] и хочу использовать локальные переменные определяется в script2 как параметры для функции из импортированного модуля

Модуль:

def encrypt(inputstr, securitykey = 1, encryptionkey = 1, decryptionkey = 1): #default value of keys is 1

inputstr = str(inputstr)

[converts inputed string into number ids based on encryption key and security key; this is like a 80 line long process, so I won't show it here]

inputstr = int(inputstr)
inputstr = inputstr * decryptionkey * securitykey
inputstr = str(int(inputstr)) #<this is stupid, I know, but for some reason this was the only way it worked

return inputstr

script2:

from ModuleDirectory import encryption

msg = input("Enter your message: \n \n")
seckey = input("Enter security key: \n \n")
enckey = input("Enter enrcyption key: \n \n")
deckey = input("Enter decryption key: \n \n")

encrypted = encryption.encrypt(msg,seckey,enckey,deckey)
print(encrypted)

Когда я это делаю, я получаю NameError , Как мне сказать Python, что я хочу использовать переменные, определенные в script2, в качестве параметров для функции, которую я импортировал из модуля? Как я уже сказал, я довольно новичок в Python, так что я могу быть просто идиотом.

Ответы [ 3 ]

0 голосов
/ 29 апреля 2020

in python вам не нужно указывать String, просто оставьте его как var1 ... и он будет работать.

0 голосов
/ 29 апреля 2020

не уверен, что это то, что вы имеете в виду, но вы должны вызвать функцию с переменными внутри параметра, чтобы передать действительные переменные в функцию. Поэтому в конце вызывайте функцию с переменными в параметре.

пример

encrypt(msg, seckey, enckey, deckey)

, но не уверены, что это то, что вы имеете в виду.

0 голосов
/ 29 апреля 2020

def function (String ...) здесь String является проблемой !! Пожалуйста, дайте нормальное имя переменной String, но не String! Вы отправляете строку с именем string! Так что вы должны получить эту строку вместе с другой строкой! Но НЕ Столичная Строка! Вы не можете использовать это как имя!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...