首页 > 技术文章 > Python打造一个简单的本地数据库

ksxh 2018-05-17 15:08 原文

 

先上效果图

用某特殊方法存到云端,想法是用网上的免费静态文件来储存我的数据库数据

main.py文件

# -*- coding:utf-8 -*-

from HUAISQL import *
while True:
    print('数据库模拟系统')
    print('*'*50)
    print('功能列表')
    print('1:注册新用户')
    print('2:登录用户')
    print('3:显示用户列表')
    print('4:查询用户密码')
    print('5:自定义命令操作')
    print('q:退出系统')
    print('*'*50)
    #for i in range(50):xie(f'admin{i}',f'root{i}')
    a=input('请输入功能代码:')
    if a=='1':
        newname=input('请输入新的用户名:')
        newpwd=input('请设置密码')
        xie(newname,newpwd)
        print('用户名:%s,密码:%s,状态:新增成功' %(newname,newpwd))
    if a=='2':
        name=input('用户名:')
        pwd=input('密码:')
        if pwd==cha(name):
            print('用户%s登录成功' %(name))
        else:
            print('登录失败')  
    if a=='3':
        xian()
    if a=='4':
        cname=input('请输入要查询的用户名:')
        print('用户%s的密码是:%s' %(cname,cha(cname)))
    if a=='5':
        admin=input('请输入命令:')
        exec(admin)
    if a=='q':
        genxin()
        from wodemo import *
        break

 

 HUAISQL.py文件

import ast

#su=[ast.literal_eval(i) for i in open('su.txt','r')]#解析数据
su=[eval(i) for i in open('su.txt','r')]#解析数据


def xian():
#显示全部
    print('*'*50)
    n=0
    for i in su:
       print(str(n)+'__'+str(i))
       n+=1
    #print('\n'.join([str(o) for o in su]))#显示全部
    print('*'*50)
    
def xie(name,pwd):
#增加账号
    name=name
    pwd=pwd
    f=open('su.txt','a')
    f.write(str({'nid':len(su),'name':name,'pwd':pwd}))#写入数据
    f.write('\n')
    su.append({'nid':str(len(su)),'name':name,'pwd':pwd})
def cha(name):
#查密码
    for i in su:
        if i['name']==name:
            return i['pwd']

def genxin():
    #对数据删除改证,后更新到txt
    f=open('su.txt','w')
    f=open('su.txt','a')
    for i in su:
      f.write(str(i)+'\n')
    print('更新成功')

  详细后续还要补充一下

推荐阅读