사용자를 기록하는 Python 3.5 코드가 있습니다.파일을 문서에 연결하려면 어떻게합니까?
그것은 사용자를 생성하고 그들을 기록합니다.
을 내가 프로그램을 죽이고 그것을 다시 실행 한 후, 그것을 만든 사용자의 세부 사항을 기억하지 않습니다.
문서에 파일을 어떻게 연결합니까?
사용자를 기록하는 Python 3.5 코드가 있습니다.파일을 문서에 연결하려면 어떻게합니까?
그것은 사용자를 생성하고 그들을 기록합니다.
을 내가 프로그램을 죽이고 그것을 다시 실행 한 후, 그것을 만든 사용자의 세부 사항을 기억하지 않습니다.
문서에 파일을 어떻게 연결합니까?
이번 주 초에 비슷한 프로젝트를 진행했는데 이것이 내가 가진 일입니다!
import csv
def displayMenu():
status = input("Are you a registered user? y/n? ")
if status == "y":
login()
elif status == "n":
newUser()
def login():
with open('users.txt') as csvfile:
reader = csv.DictReader(csvfile)
database = []
for row in reader:
database.append(dict(username=row['username'],
password=row['password'],
function=row['function']))
loggedin = False
while not loggedin:
Username = input('Fill in your username: ')
Password = input('Fill in your password: ')
for row in database:
Username_File = row['username']
Password_File = row['password']
Function_File = row['function']
if (Username_File == Username and
Password_File == Password and
Function_File == 'user'):
loggedin = True
print('Succesfully logged in as ' + Username)
elif (Username_File == Username and
Password_File == Password and
Function_File == 'admin'):
loggedin = True
print('Succesfully logged in as the admin.')
if loggedin is not True:
print ('Failed to sign in, wrong username or password.')
def newUser():
signUp = False
while not signUp:
NewUsername = input("Create login name: ")
NewUsername = str(NewUsername)
with open('users.txt', 'r') as UserData:
reader = csv.reader(UserData, delimiter=',')
if (NewUsername) in open('users.txt').read():
print ('Login name already exist!')
else:
NewPassword = input("Create password: ")
NewPassword = str(NewPassword)
with open('users.txt', 'a') as f:
writer = csv.writer(f)
UserPassFunction = (NewUsername,NewPassword,'user')
writer.writerows([UserPassFunction])
print("User created!")
signUp = True
# ---- Main ---- #
displayMenu()
읽고 Logindetails.txt이 프로그램과 동일한 위치에 저장 .txt 파일이며 사용자가 로그인 세부 정보를 저장하는 파일에 데이터를 기록 할 수 있습니다. Windows 메모장은 .txt 파일을 사용합니다.
import linecache
with open("LoginDetails.txt", "r") as po:
LoginDetails = linecache.getline('LoginDetails.txt', int(LineNumber)).strip()
"r"은 읽기 전용 모드로 파일을 엽니 다. "r +"를 사용하면 파일을 읽고 쓸 수 있습니다. 난 당신이 SQL을 사용하고자하는 경우, 비록 로그인 정보에 대한 SQL 데이터베이스를 사용하는 것이 좋습니다 것이 내가이 작성하지 않은
def replace_line(file_name, line_num, text):
lines = open(file_name, 'r').readlines()
lines[line_num] = text
with open(file_name, 'w') as out:
out.writelines(lines)
PS, 여기에 원래의 게시물 Editing specific line in text file in python
은 내가 sqlite3를 라이브러리/모듈
를 사용하는 것이 좋습니다또한 RAM에 저장된 사용자 입력에 의해 변경되는 변수로 세부 사항을 저장하기 때문에 프로그램에서 '내 세부 정보 기억'을 할 수 없습니다. 이 데이터는 일단 프로그램이 종료되면 지워 지므로 사용자 입력을 통해 변경되면 프로그램을 닫을 때마다 입력을 다시 변경해야합니다.
사용자 이름과 같은 문자열을 파일에서 검색 할 수도 있습니다. Search for string in txt file Python
먼저 시도한 코드 중 일부를 공유해주십시오. 먼저 문제에 대한 작업을 수행했다면 도움을 얻을 가능성이 훨씬 높습니다. – cfreear