2014-10-20 4 views
1

입력을 받아 해당 입력이 파일의 텍스트에 있는지 확인하는 프로그램을 만들려고했습니다. 나의 최종 목표는 사용자 로그인 GUI를 만드는 것이지만 여기서는 꽤 많은 GUI가있는 코드를 보여주지 않을 것입니다. 입력 텍스트와 파일의 텍스트를 비교하는 방법을 알아야합니다. 이 내 코드는 지금까지 텍스트 파일에서 데이터 확인

def check(entry): 
    search = open('password.txt', 'r') 
    if str(entry) in str(search): 
     return (entry, "Word found") 
    else: 
     return entry, ("Word not found") 

with open('password.txt', 'r') as text: 
    print (text.read()) 

while True: 
    entry=input("\nSearch for word: ") 
    print(check(entry)) 

나는 코드가 1, 2, 5, 12 텍스트의 모든하지만 텍스트에있는 단어 중 어느 것도 확인되지 말 것입니다 실행

. 누군가 도움이된다면 감사 할 것입니다. 감사합니다.

+0

응용 프로그램을 시작할 때 사전에 파일을로드하고 비교하는 것이 좋습니다. 많은 파일 IO 작업을 수행하면 응용 프로그램 성능이 저하 될 수 있습니다. 또한 일반 텍스트 암호를 저장하면 안됩니다. 주요 보안 문제입니다. – Grice

+0

예. thatw는 내가 계속 움직일 수있는 무언가가 될 것이지만, 현재로서는 로그인을 실제로 작동시키고 싶습니다. – george

답변

1

다른 의견으로는 보안상의 나쁜 생각을 무시하고 str (검색)은 생각한 것처럼 작동하지 않습니다. 인쇄 할 경우 다음과 같은 내용이 표시되어야합니다.

<open file 'password.txt', mode 'r' at 0x0000000001EB2810> 

열기 기능으로 만든 개체에 대한 설명입니다. 먼저 .read() 메소드를 사용하여 파일을 문자열로 읽어야합니다.

+0

괜찮습니다. str (search.read())에서 str (entry)에 사용합니다. – george

관련 문제