Как реализовать определение ключевой проверки - PullRequest
0 голосов
/ 01 августа 2020

так что в основном я пытаюсь закодировать программу, которая что-то делает после того, как вы предоставите правильный ключ.

Итак, сначала я вызываю Keycheck (Key) после получения Key из ввода, а затем это раздражает через файл с keys (каждый ключ находится в новой строке ("\ n")).

def Keycheck(Key):

    KeyFile = open("keys.key","r", encoding='utf-8')

    for line in KeyFile:
        line1 = line.strip()
        fields = line1.split("\n")
        linekey = fields[0]
  
   
        if Key in linekey:
            
            Keypass = "true"
            
    
        elif Key != linekey:

            continue

Хорошо, это работает нормально, но проблема, с которой я столкнулся, - передать переменную Keypass в основную программу, я попробовал читал о Kwargs, но не мог этого понять.

Итак, мой вопрос в том, как передать переменную Keyword из «def Keycheck (Key)» в «основную программу», если это невозможно есть ли другой способ реализовать проверку ключей из ключей, уже сохраненных в файле?

EDIT: Под основной программой я подразумеваю

def func():
def func2():
Keycheck(Key):

main program:
Key = input("")
Keycheck(Key)
if Keypass == "true": 
   func()
   func2()
else:
break

Просто намек на то, как я хочу, чтобы программа работала:

  1. он получает ключ из ввода
  2. он вызывает Keycheck (Key) (или проверяет, что ключ действителен )
  3. он продолжает программу, если ключ находится в файле из Keycheck (ключ). Если он не содержит ключа в ключевом файле, просто напечатайте («неправильный ключ попробуйте снова») или что-то в этом роде и повторите попытку все

1 Ответ

0 голосов
/ 01 августа 2020

Как упоминалось в @ Code-Apprentice, просто верните True, если найдете ключ. В противном случае возврат False l oop выполнен.

def Keycheck(Key):

    KeyFile = open("keys.key","r", encoding='utf-8')

    for line in KeyFile:
        line1 = line.strip()
        fields = line1.split("\n")
        linekey = fields[0]
  
        if Key in linekey:            
            return True    # found key, return True
        
    return False    # loop is done, key not found  


# main program
if Keycheck('Key123'):
    print('Found Key')
else:
    print('Key Not Found')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...