python 如何写一个关于文件处理的 python 程序

# 如何写一个关于文件处理的 python 程序
# 1字典和文件处理-。学生的成绩
# a.在开始时,程序会询问用户是否要添加、修改、删除或全部打印。
# b.如果用户选择添加,程序会提示用户输入一个名字和一个等级,之后程序会再次以字母a的形式显示提示。
# c.如果用户选择修改,程序会提示用户输入想要修改的学生的名字。该程序将显示旧的成绩,并将提示用户输入新的成绩。程序将更新成绩。在此之后,程序将再次显示字母a的提示。
# d.如果用户选择删除,程序会提示用户输入要删除的学生的名字。然后该程序将删除该学生记录。
# e在任何时候,如果用户选择打印,将显示所有学生的姓名和成绩。
# f.如果用户选择退出,程序将退出。将显示一条说再见的消息。
# g.程序应该能够使用至少一个功能。
# h.程序应该能够使用字典。
# i.该程序应该能够使用文件文本处理。这意味着学生的名字应该保存在一个文本文件中。
import os
import csv
import sys
import time

while True:
    print('''
-------------
1,添加
2,修改
3,删除
4,全部打印
5,退出程序
-------------
    ''')
    A = input('请输入选择项:')
    
    if A == '1':
        os.system('cls')
        try:
            a,b = (input('''
ps:输入完名字需空格再输入成绩!
请输入名字和成绩:''').split())
            print(a,b)

            dict = {}
            dict[a] = b
            for kk,vv in dict.items():
                rows = [(kk, vv),]
                with open('test.txt', 'a+', encoding='utf-8', newline="")as fp:
                    wf = csv.writer(fp)
                    wf.writerows(rows)
            print('添加学生信息成功!')
            time.sleep(1)
            
        except:
            print("输入有误,请输入示例如:小明 A")

    elif A == '2':
        os.system('cls')
        dict = {}
        with open('test.txt', encoding='utf-8') as cf:
            lines = csv.reader(cf, delimiter='|')
            for line in lines:
                for i in line:
                    #print(i[0:2],i[3:4])
                    dict[i[0:2]]=i[3:4]

        dict2 = dict
        name = input('输入姓名:')
        for kk,vv in dict2.items():
            if kk == name:
                print(name+'的成绩:',dict2[kk])
                cj = input('修改成绩为:')
                dict2[kk]=cj

        os.remove('test.txt')
        for kk,vv in dict2.items():
            rows = [(kk, vv),]
            with open('test.txt', 'a', encoding='utf-8', newline="")as fp:
                wf = csv.writer(fp)
                wf.writerows(rows)
        print('修改成功!')
        time.sleep(1)

    elif A == '3':
        os.system('cls')
        dict = {}
        with open('test.txt', encoding='utf-8') as cf:
            lines = csv.reader(cf, delimiter='|')
            for line in lines:
                for i in line:
                    #print(i[0:2],i[3:4])
                    dict[i[0:2]]=i[3:4]

        dict2 = dict
        name = input('输入姓名:')
        list1=[]
        for k in dict2.keys():
            if k == name:
               list1.append(k)
        for i in list1:
            del dict2[i]

        os.remove('test.txt')
        for kk,vv in dict2.items():
            rows = [(kk, vv),]
            with open('test.txt', 'a', encoding='utf-8', newline="")as fp:
                wf = csv.writer(fp)
                wf.writerows(rows)
        print('删除信息成功!')
        time.sleep(0.2)

    elif A == '4':
        os.system('cls')
        list1 =[]
        with open('test.txt', encoding='utf-8') as cf:
            lines = csv.reader(cf, delimiter='|')
            for line in lines:
                list1.append(line)

        print('姓名','成绩')
        for i in list1:
            for w in i:
                list_str = list(w)
                list_str.pop(2)
                list_str.insert(2, ' ')
                list_str = ''.join(list_str)
                print(list_str)
                time.sleep(0.1)

    elif A == '5':  
        os.system('cls')
        print('bye~bye~')
        time.sleep(0.2)
        sys.exit(0)
        
    else:
        os.system('cls')
        print('提示:请输入正确的选择项')
        

猜你喜欢

转载自blog.csdn.net/qq_26086231/article/details/121306803