如何实现密钥检查定义

2024-09-29 17:16:55 发布

您现在位置:Python中文网/ 问答频道 /正文

所以基本上,我试图编写一个程序,在你提供了一个正确的密钥之后,它会做一些事情

所以,首先我在从输入中获取密钥后调用Keycheck(Key),然后它通过一个包含密钥的文件(每个密钥位于新行(“\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,但是我不理解它

因此,我的问题是如何将关键字变量从“def Keycheck(Key)”传递到“main program”中,如果不可能,是否有其他方法可以从文件中已存储的密钥执行密钥检查

编辑: 我指的是主程序

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(密钥)的文件中,它将继续程序 如果密钥文件中不包含密钥,则只需打印(“错误的密钥重试”)或类似内容,然后重试所有操作

Tags: 文件keyin程序truefieldsifdef
1条回答
网友
1楼 · 发布于 2024-09-29 17:16:55

正如@Code学徒所提到的,如果找到了密钥,只需返回True。否则,将执行返回False循环

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')

相关问题 更多 >

    热门问题