文档章节

pickel

jk409
 jk409
发布于 2014/07/13 22:47
字数 844
阅读 21
收藏 0
import os,pickle
#python3.4,,,,jk409于2014-05-08用以练习pickel编写的人员信息脚本
def init():
    data=[["jk409",'25',"1988-05-02","IT"],["kkk",'20',"1988-10-07","IT","888888"]]
    f=open("./test.txt",'wb')
    pickle.dump(data,f)
    f.close()
    

def f_write():
    #添加信息
    data=[]
    xm=input("请输入您的[姓名]:")
    ss=input("请输入您的[年龄]:")
    sr=input("请输入您的[出生年月日]:")
    bm=input("请输入您的[所在部门]:")
    tel=input("请输入您的[联系电话]:")
    f=open("./test.txt",'rb')
    #f.flush()
    data=pickle.load(f)
    data.append([xm,ss,sr,bm,tel])
    f=open("./test.txt",'wb')
    pickle.dump(data,f)
    f.close()

def f_read():
    #读取信息
    f=open("./test.txt",'rb')
    data=pickle.load(f)
    #print (查询的信息如下:)
    cx=input("1.查询所有的信息   2.个人模糊信息查询  3.个人精确信息查询:")
    if cx == "1":
        print ("\n查询的信息如下:")
        for i in data:
            print ("姓名:"+i[0],"\t年龄:",i[1],"\t生日:"+i[2],"\t部门:"+i[3],"\t电话:"+i[4])
    if cx == "2":
        name_cx=input("请输入查询人的姓名:")
        print ("\n查询的信息如下:")
        for i in data:
            if i[0] == name_cx:
                print ("姓名:"+i[0],"\t年龄:",i[1],"\t生日:"+i[2],"\t部门:"+i[3],"\t电话:"+i[4])

    if cx == "3":
        name_cx=input("请输入查询人的姓名:")
        tel_cx=input("请输入查询人的电话:")
        print ("\n查询的信息如下:")
        for i in data:
            if i[0] == name_cx and i[4] == tel_cx:
                print ("姓名:"+i[0],"\t年龄:",i[1],"\t生日:"+i[2],"\t部门:"+i[3],"\t电话:"+i[4])
    f.close()


def kz():
    #对已有的列表进行扩展
    data_new=[]
    f=open("./test.txt",'rb')
    data=pickle.load(f)
    for i in data:
        i.extend(['888888'])
        data_new.extend([i])
    print (data_new)
    f=open("./test.txt",'wb')
    pickle.dump(data_new,f)
    f.close()


def sc():
    #定义新空列表,然后扩展新列表的元素,最后写入文件
    data_sc=[]
    f=open("./test.txt",'rb')
    data=pickle.load(f)
    #print (data)
    name_del=input("请输入需要删除的信息的[姓名]:")
    for i in data:
        if i[0] == name_del:
            print ("姓名:"+i[0],"\t年龄:",i[1],"\t生日:"+i[2],"\t部门:"+i[3],"\t电话:"+i[4])
        else:
            data_sc.extend([i])
    print(data_sc)
    f=open("./test.txt",'wb')
    pickle.dump(data_sc,f)
    f.close()



def sc2():
    #"list列表index删除"
    f=open("./test.txt",'rb')
    data=pickle.load(f)
    name_del=input("请输入需要删除的信息的test[姓名]:")
    for i in data:
        if i[0] == name_del:
            del data[data.index(i)]
    print(data)
    f=open("./test.txt",'wb')
    pickle.dump(data,f)
    f.close()



def xg():
    f=open("./test.txt",'rb')
    data=pickle.load(f)
    n_mod=input("请输入需要修改的信息的test[姓名]:")
    for i in data:
        if i[0] == n_mod:
            print(i,"\n","1.姓名 2.年龄 3.生日 4.部门 5.电话")
            bh_mod=input("请输入你修改项目的[编号1~5]:")
            if bh_mod == "1":
                n_mod=input("请输入您的新姓名:")
                data[data.index(i)][0] = n_mod

            if bh_mod == "2":
                l_mod=input("请输入您的新年龄:")
                data[data.index(i)][1] = l_mod

            if bh_mod == "3":
                s_mod=input("请输入您的新生日:")
                data[data.index(i)][2] = s_mod

            if bh_mod == "4":
                b_mod=input("请输入您的新部门:")
                data[data.index(i)][3] = b_mod

            if bh_mod == "5":
                d_mod=input("请输入您的新电话:")
                data[data.index(i)][4] = d_mod
            if bh_mod == "":
                print('-----------')
    print(data)
    f=open("./test.txt",'wb')
    pickle.dump(data,f)  
    f.close()
    
def show():
    print("---------------------------------------")
    print("1.查询   2.添加  3.修改   4.删除   5.退出 ")


if __name__=='__main__':
    while 1:
        os.system('cls')
        show()
        xz=input("请输入您的需要选项的编号[1/2/3/4/5]:")
        if xz == "1": f_read()
        if xz == "2": f_write()
        if xz == "3": xg()
        if xz == "4": sc2('4')
        if xz == "5": break
        if xz == "" or xz == " ": print("空")
        if xz == "0":
            init=input('改操作会格式所有数据,请确实是否操作[yes|no]:')
            if init == "yes":
                print("格式化中......")
                init()
                print("格式化完成!")
        xyz=input("\n按任意键继续......")

想起了以前写的蹩脚的shell版人口管理脚本

© 著作权归作者所有

共有 人打赏支持
上一篇: python操作sqlite3
下一篇: python2.7_call
jk409
粉丝 21
博文 159
码字总数 38443
作品 0
深圳
后端工程师
私信 提问

暂无文章

四、RabbitMQ3.7在CentOS7下的安装

安装依赖 sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git 创建yum源 vi /etc/yum.repos.d/rabbitmq-erlang.repo [......

XuePeng77
今天
2
0
android 延长Toast的时长

示例:myToast(5000,"hello"); public void myToast(int showTime, String msg) { Toast hello = Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT); new CountDownTimer(......

雨焰
昨天
4
0
浅谈mybatis的日志适配模式

Java开发中经常用到的日志框架有很多,Log4j、Log4j2、slf4j等等,Mybatis定义了一套统一的日志接口供上层使用,并为上述常用的日志框架提供了相应的适配器。有关适配器模式例子可以参考 设计...

算法之名
昨天
13
0
大数据教程(13.6)sqoop使用教程

上一章节,介绍了sqoop数据迁移工具安装以及简单导入实例的相关知识;本篇博客,博主将继续为小伙伴们分享sqoop的使用。 一、sqoop数据导入 (1)、导入关系表到HIVE ./sqoop import --connect...

em_aaron
昨天
3
0
Git cherry-pick 使用总结

应用背景:假设现在有两个分支:dev_01, dev_02. 如果我想把dev_01分支上的某几个commit合并到dev_02分支, 那么怎么办呢? 这就是cherry-pick的工作了。cherry-pick会捡选某些commit, 即把某...

天王盖地虎626
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部