zoukankan      html  css  js  c++  java
  • PYTHON之文件操作

    目此文档分享如果python对文件的操作

    python2.*打开文件:
      file_obj = file("文件路径","模式")
      file_obj = open("文件路径","模式")

    Python3.*打开文件:
      file_obj = open("文件路径","模式")

    打开文件的模式有:

      r:以只读方式打开文件

      w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件

      a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件结尾。

      w+:打开一个文件用于读写。如果该文件已存在则将期覆盖。如果该文件不存在,创建新文件。

    例:

    #写文件
    '''
    f = open("text.log","w")
    f.write("this is the first line! ")
    f.write("this is the 3 lien! ")
    f.write("this is the 4 lien! ")
    f.close()


    #读文件

    f = open("text.log","r")
    #print(f.read())
    print(f.readlines())
    f.close()


    #追加文件
    f = open("text.log","a")
    f.write("6 ")
    f.write("7 ")
    f.close()
    '''

    #读写文件
    f = open("text.log","w+")
    f.write("new line ")
    print(f.read())
    f.close()

    实例:

    ------说明----
    文件介绍:
    start.py 为程序启动主文件
    marry.py 为验证用户是否存在文件
    keys.py 为是否解除用户锁定文件
    info.txt 为锁用户的文件库

    1运行程序start.py

    2输入用户名和密码(输错密码3次会被锁)
    username:tale password:123456

    3用户验证
    1)用户是否被锁
    2)是否要解锁该用户
    3)验证输入的用户名和密码是否正确
    4)解锁用户需要输入正确的用户名和密码

    4三级菜单
    1)产品列表
    2)当单选中产品,会显示产品价格信息


    start.py代码
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    from marry import file_bool

    file_name = open("info.txt","r+")
    file_list = file_name.readlines()

    userinfos = ["tale","123456","10000","1"]
    Shopping = {"Commodity":["1:Cup","2:Young lady","3:AV"]}
    Price = {"1":"10","2":"888","3":"666"}

    username = userinfos[0]
    passwords = userinfos[1]
    stop = int(userinfos[3])

    #user login
    for i in range(3):
    user = raw_input("input username:").strip()
    pa = raw_input("input password:")

    #判断用户是否存在
    if user == userinfos[0]:
    pass
    else:
    print("not username!")
    exit()
    #判断用户是否已被锁定
    file_bool(user,pa)
    if user == username and pa == passwords:
    print("welcome %s login!" % user)
    break
    else:
    print("password or username err!")
    stop += 1
    userinfos[3] = stop
    if userinfos[3] == 4:
    print("The user is locked.")
    lst_info = str(userinfos)
    values_list = "".join(lst_info)
    file_name.write(values_list+" ")
    file_name.close()
    exit()
    else:
    pass

    #三级菜单
    while True:
    for comm,valus in Shopping.items():
    print(valus)
    Shopgo =raw_input("是否要购买 n/y:")
    if Shopgo == "n" or Shopgo == "N":
    exit()
    elif Shopgo == "y" or Shopgo == "Y":
    continue
    else:
    print("不按规定输入,用户强制退出!")
    exit()


    print("Price tabulation")
    for key,sp in Price.items():
    print("ID:%s Price:%s$" % (key,sp))


    IDcode = raw_input("Please input ID:")
    if IDcode == "1":
    print("Success purchase commodity:Cup")
    elif IDcode == "2":
    print("Success purchase commodity:Young lady")
    elif IDcode == "3":
    print("Success purchase commodity:AV")
    else:
    print("Not this commodity!")
    exit()


    marry.py代码
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    from keys import keyinfo
    def file_bool(users,passinfo):
    file_name = open("info.txt","r+")
    file_list = file_name.readlines()
    for ele in file_list:
    line = ele.strip()
    values_list = line.split(',')
    last_value = str(values_list[-1])
    last_user = str(values_list[0])
    last_pass = str(values_list[1])
    strip_pass = last_pass.strip(" ")
    strip_pass2 = strip_pass.strip("'")
    strip1 = last_user.strip("[")
    strip2 = strip1.strip("'")
    if strip2 == users and strip_pass2 == passinfo:
    if last_value[1] >= 4 and strip2 == users:
    keys = raw_input("是否要解锁%s用户:Y/N" % users)

    if keys == "Y" or keys == "y":
    keyinfo()
    print("用户已解锁!")
    exit()
    elif keys == "N" or keys == "n":
    print("程序退出!")
    exit()
    else:
    print("请输入正确选项!")
    exit()
    else:

    pass
    file_name.close()
    else:
    print("用户被锁,程序退出.请输入正确的用户名和密码解锁!")
    exit()


    keys.py代码
    #!/usr/bin/evn python
    def keyinfo():
    file_name = open("info.txt","r+")
    file_name.truncate()
    file_name.close()
    
    
  • 相关阅读:
    hwclock设置时间的调用过程是怎样的?
    git如何获取获取子模块的代码?
    hwclock和date源码分析
    linux内核是如何支持深度睡眠(deep sleep)方式的?
    mac下如何安装python3?
    linux内核中的__cpu_suspend是在哪里实现的呀?
    linux下安装oracle需要的配置
    linux实操常用命令总结
    linux下vi命令大全
    PHP100精华:很靠谱linux常用命令
  • 原文地址:https://www.cnblogs.com/TaleG/p/6677683.html
Copyright © 2011-2022 走看看