将数据存储在 .txt 文件中并检索它

Posted

技术标签:

【中文标题】将数据存储在 .txt 文件中并检索它【英文标题】:Storing data in .txt file and retrieving it 【发布时间】:2020-09-05 21:29:10 【问题描述】:

我正在尝试制作某种登录系统, 我有它,如果用户名和密码在 test.txt 中(有多个)它应该让你登录,我什至没有通过验证用户名和密码是否在 txt 文件中并销毁它的步骤我,我不知道该怎么做,我尝试了几个小时,我做到了“如果你在文本文件中找到这个用户名,给我行号并检查密码这个密码是否在同一行用户名,(我使用了拆分(',')),如果输入的电子邮件和密码都存在于 txt 文件中并且在同一行中,那么..(还没有这样做)。

所以这让我很困惑,有很多错误,如果没有错误,那么它不会像我预期的那样工作,这是我的意大利面条代码

def test():
    with open('test.txt', 'r') as f:
        for num, line in enumerate(f,1):
            username = line.split(',')
            if username in num:
                 if username == q1:
                    print("found user in line: " + num)
                    Line = num
                    password = line.split(',')
                    if password in Line:
                        if password == q2:
                            print("found pass in line: " + num)

谁能帮我解决这个问题并向我解释在 .txt 文件中存储数据的工作原理以及如何检索它们? YouTube 和 google 真的没有多大帮助,如果你能推荐一个也很酷的视频,因为我现在很困惑,我剩下的就是尝试 MongoDB,因为它已经具有检索数据和存储它的功能内置

但由于它在我的电脑上而不是互联网上是本地的,我认为我不需要 MongoDB,因此对于本地测试来说这将是一个矫枉过正

【问题讨论】:

为什么您更喜欢使用文本文件来存储用户信息?您可以改用 json 文件。 或者既然是Python内置的Sqlite3。 json 在这方面可能是一个救命稻草,但我认为它只适用于 javascript,而关于 Sqlite 的 idk 因为它更像是一个扩展,我想成为一个小香草,所以如果 json作品我很想尝试一下(我不知道如何在 python 中使用它),如果有一种方法可以让我学习 .txt 的方式,那就太棒了 我曾经使用.json文件来检查js中的东西,我什至不知道我可以通过代码编辑它,所以我总是习惯使用mongodb Sqlite3(sqlite3) 和 JSON(json) 一样是标准库的一部分。这就是你能得到的最普通的东西。 【参考方案1】:

有了json,你可以这样搞定:

JSON 文件


"user1":"password":"123456",
"user2":"password": "abcde"

Python

import json

def test(username, password):
    with open("answer.json", "r") as read_it: 
        data = json.load(read_it) 
    if data[username][password] == '123456':
        print('User found!')
    else:
        print('User or password doesn\'t exist')
          
 test('user1', 'password')

【讨论】:

谢谢!明天我也试一下,因为我今天真的很累,但是如果我想追加更多用户怎么办,我看到密码是硬编码在 .py 文件中的,有没有办法不硬编码并使用“输入( “问题”)“为此?另外,这是在寻找密码,而不是确认输入的用户是正确的,我该如何解决这个问题,我试图让它输入用户和密码,如果两者都在文件中找到并且正确,那么它让你输入,如果不是,它建议在 json 中注册(它将被“附加”或 smt)【参考方案2】:

如果要使用文本文件,那么举个简单的例子:

cat test.txt 

aklaver, dog
adrian, cat
alklaver, fish

user_name = 'aklaver'

with open('test.txt', 'r') as pwd_file:
    lines = pwd_file.readlines()
    for line in lines:
        user, pwd = line.split(',')
        if user == user_name:
            print(pwd)

dog

【讨论】:

谢谢,我试试 Squilt3, JSON, text, tmr,我会用最适合我的,现在我累了,所以我做不到

以上是关于将数据存储在 .txt 文件中并检索它的主要内容,如果未能解决你的问题,请参考以下文章

如何在测量过程中将数据存储在 Keithley2400 缓冲区中并通过 rs232 检索?

VB6 - 如何将 URL 内容存储在字符串中并保存为文件(例如 .txt)

将双精度值存储在二进制文件中并读取它

5.1 文件存储

Python爬虫应用实战-如何对爬取的数据进行数据存储?

Python爬虫应用实战-如何对爬取的数据进行数据存储?