小白向大佬迈进的第N天 [自制数据库 | 03]

博主更新了自制数据库项目,将储存格式从JSON升级为自定义的.hjy格式,并增加了语言选择功能。文章回顾了数据库创建流程,包括检查系统语言,登录界面及登录后的操作。重点讲解了'insert'命令的实现,强调了数据插入的重要性。源代码已上传至GitHub,欢迎查看并给出建议。
摘要由CSDN通过智能技术生成

        呀,拖更好久了,大家有没有想我呀?

        不知道大家有没有注意到,我的标题从‘[自制Json数据库 | 02]’变成了‘[自制数据库 | 03]’。为什么呢?嘿嘿,再拖更的这几天,我把数据库进行了一次升级,由JSON格式储存换为了我自己的格式储存,增加了语言选择功能,还修复了一些小BUG。

        还记得上次是讲到‘insert’这个命令语句。不过呢因为升级,我把前面的也重新讲一下吧。

if __name__ == '__main__':

    folder=''
    a=locale.getdefaultlocale()
    if not "PyDB" in os.listdir():
        os.makedirs('./PyDB'+'./user')
        os.makedirs('./PyDB'+'./DataBase')
        os.makedirs("./PyDB"+"./Language")
        if a[0]=='en_US':
            b='{"Language":"English"}'
            with open("PyDB/Language/language.hjy",mode='w',encoding='gbk') as j_file:
                by=b.encode("utf-8")
                json.dump(by,j_file,ensure_ascii=False)
        elif a[0]=="zh_CN":
            b='{"Language":"中文"}'
            with open("PyDB/Language/language.hjy",mode='w',encoding='gbk') as j_file:
                by=b.encode("utf-8")
                json.dump(by,j_file,ensure_ascii=False)
        else:
            b='{"Language":"English"}'
            with open("PyDB/Language/language.hjy",mode='w',encoding='gbk') as j_file:
                by=b.encode("utf-8")
                json.dump(by,j_file,ensure_ascii=False)


    if "PyDB" in os.listdir():
        language=GetFromJSON("Language/language.hjy")
        if language["Language"]=='English':
            print(" Welcome to PyDB Monitor.")
            print(" Server version: 1.0.0 PyDB Server.")
            print(" Powered by @ Hang Jiayu")
            print(" Add '@' at the beginning of the statement.")
            print(" Type '@help' or '@h' for help.Type '@continue' or '@c' to clear the current input statement.\n")
            print("PyDB>Welcome to PyDB!"+"\n")
        elif language["Language"]=="中文":
            print(" 欢迎使用PyDB.")
            print(" 服务版本: 1.0.0 PyDB Server.")
            print(" 技术支持:Hang Jiayu")
            print(" 在每行语句前添加 '@' 。")
            print(" 输入 '@help' 或 '@h' 获取帮助。输入 '@continue' 或 '@c' 清除当前输入的语句。\n")
            print("提示>欢迎使用PyDB!"+"\n")

        在最开始,如果还没有创建过数据库的话,它会先检查系统语言,然后写入到‘language.hjy’中(.hjy是我自己用的一个格式,直接打开并读取就好了,也可以换成.json)

        因为我本来是做了一些加密处理的,但不方便给大家看,就不放出来了,这里的是去掉了加密过程的。如果大家想要进行加密的话,可以在后面进行投票。如果人数多的话,我后面可能会出一期关于加密的文章。

        在获取到系统语言后,我们先检查一下(因为只做了两种语言的操作系统,所以如果是其他语言,则默认中文),然后按照语言打印提示信息(毕竟跟随操作系统语言的话大部分人用起来会比较舒服的吧)。

        然后就是我们的登录界面了,也就是第一个大循环:

while True:
        language=GetFromJSON("Language/language.hjy")
        #First time
        if language["Language"]=="English":

            if os.listdir("PyDB/user")==[]:
                language=input("PyDB>Please choose your language.(English/中文)\nLanguage>")
                if language=="English":
                    a='{"Language":"English"}'
                    with open("PyDB/Language/language.hjy",mode='w',encoding="gbk") as f:
                        by=a.encode("utf-8")
                        json.dump(base64.b64encode(by).decode("utf-8"),f,ensure_ascii=False)
                    j_file=open("./PyDB/Language/language.hjy",'w')
                    json.dump(a,j_file,ensure_ascii=False)
                    j_file.close()
                    print("PyDB> There are no users yet :( ...  Let's create one! :) \n")
                    while True:
                        admin=input("PyDB>  Please enter your User Name!\nAdministrator>")
                        if admin=='':
                            admin=input("PyDB>  Please enter your User Name!\nAdministrator>")
                        else:
                            break
                    Pass=input("PyDB> Please enter your password!\nPassword>")
                   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值