2017-09-10 1 views
0

Python을 통해 로그인 작업자 을 만들려고 할 때 간단하지만 혼란스러운 오류가 발생합니다.파일을 읽을 때 오류가 발생합니다.

여기 오류가 있습니다. 오류가 발생하는 위치를 여기

Traceback (most recent call last): 
    File "stratixlogin.py", line 87, in <module> 
    main() 
    File "stratixlogin.py", line 78, in main 
    login_worker() 
    File "stratixlogin.py", line 51, in login_worker 
    data = f.read() 
ValueError: Mixing iteration and read methods would lose datanter code 

은 다음과 같습니다

with open("global_users.txt", "r") as f: 
    for line in f: 
     data = f.read() 
     if data == username_ask: 
      print(G+"Success!") 

      password_ask = raw_input(O+"Password:"+W+" ") 

      with open("global_passwords.txt", "r") as f: 
       for line in f: 
        data = f.read() 
        if data == password_ask: 
         print(G+"Success!") 

        else: 
         print(R+"Incorrect Password!") 

     else: 
      print(R+"No Users Found!") 

나는 오류가 여기에 무엇인지 확실하지 않다,하지만 난이 문제를 해결하는 방법에 대한 혼란 스러워요. 어떤 아이디어?

답변

0

파일의 행 (for 루프)과 read()을 반복하여 반복 할 수 없습니다.
충분하다 :

with open("global_users.txt", "r") as f: 
    for data in f: 
     if data == username_ask: 
      print(G+"Success!") 

      password_ask = raw_input(O+"Password:"+W+" ") 

      with open("global_passwords.txt", "r") as f: 
       for line in f: 
        data = f.read() 
        if data == password_ask: 
         print(G+"Success!") 

        else: 
         print(R+"Incorrect Password!") 

     else: 
      print(R+"No Users Found!") 
+0

감사합니다. 나는 지금 막 나의 새로운 occuring 과실을 고쳐야한다 :) 도움 남자를위한 감사합니다! –

관련 문제