栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 文件操作练习

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 文件操作练习

参考一兄弟写的文章进行练习:http://blog.51cto.com/000011211684/2052701

主要目的,熟悉文件列表的增、删、改操作……

# python 3.6 文件打开操作练习

#  date:2017-12-26

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

 

import os,sys

 

def find():

    find_name = input("请输入要查询的员工姓名:").strip().upper()

    flag=False

    with open("info.txt",'r',encoding='utf-8') as f1:

        for line in f1:

            if line.split()[0]==find_name:

                flag=True

                print("员工姓名:",find_name,"t工资:",line.split()[1])

            else:

                continue

    if not flag:

        print("未找到员工信息:33[31;1m{_name}33[1m".format(_name=find_name))

 

def modify():

    flag = False

    mod_info1=input("请输入要修改的员工姓名:").strip().upper()

    with open("info.txt", 'r', encoding='utf-8') as f1 ,

        open("info_new", 'w', encoding='utf-8') as f2:

        for line in f1:

            if mod_info1 ==line.split()[0]:

 

                mod_info2 = input("请输入修改后的工资:").strip()

                if not mod_info2.isdigit():  #判断输入是否为数字

                    print("请输入一个数字!!")

                    sys.exit()  #需等待完善优化,下同

                else:

                    f2.write(mod_info1+'t'+mod_info2+'n')

                    flag = True

            else:

                 f2.write(line)

    if os.path.exists('info_bak.txt'):os.remove("info_bak.txt") #如果存在则删除

    os.rename("info.txt","info_bak.txt")

    os.rename("info_new","info.txt")

    if flag:

         print("修改成功")

    else:

         print("未找到员工信息:33[31;1m{_name}33[1m".format(_name=mod_info1))

 

def add():

    flag = False

    add_info1 = input("请输入要增加的员工姓名:").strip().upper()

    with open("info.txt", 'r', encoding='utf-8') as f1 :

        for line in f1:

            if add_info1 == line.split()[0]:

                flag = True

            else:

                continue

    if flag:

        print("员工33[31;1m{_name}33[1m信息已存在".format(_name=add_info1))

    else:

        with open("info.txt", 'a', encoding='utf-8') as f2 :

            add_info2 = input("请输入工资:").strip()

            if not add_info2.isdigit():  # 判断输入是否为数字

                print("请输入一个数字!!")

                sys.exit()

            else:

                f2.write(add_info1 + 't' + add_info2 + 'n')

                print("增加成功!!")

 

def dele():

    flag = False

    del_info1 = input("请输入要删除的员工姓名:").strip().upper()

    with open("info.txt",'r',encoding='utf-8') as f1 ,

        open('info_new','w',encoding='utf-8') as f2:

        for line in f1:

            if line.split()[0] == del_info1:

                flag=True

                continue

            else:

                f2.write(line)

    if os.path.exists('info_bak.txt'):os.remove("info_bak.txt") #如果存在则删除

    os.rename("info.txt","info_bak.txt")

    os.rename("info_new","info.txt")

    if flag:

        print("删除成功!!")

    else:

        print("未找到员工信息:33[31;1m{_name}33[1m".format(_name=del_info1))

 

def main():

    menu={

        '1':find,

        '2':modify,

        '3':add,

        '4':dele,

        '5':exit

    }

    while True:

        print("""

        请选择:

        1,查询员工信息

        2,修改员工信息

        3,增加员工信息

        4,删除员工信息

        5,退出系统

        """ )

        choice=input('>>>>').strip()

        if choice in menu:

            menu[choice]()

if __name__=="__main__":

    main()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/223615.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号