llcong 发表于 2019-1-27 06:56:14

python内置函数中的 IO文件系列 open和os

  本篇介绍 IO 文件中的 open 和 os基础用法。
  本次用一个游戏登陆 基础界面做引子,来介绍。
  实现存储的话,方式是很多的。 比如 存到字典 和列表了,可是字典、列表是临时的,玩网页游戏一次还是可以,如果要是一个反复要用到的一个软件的话,显然就不合适了,比较熟悉的介质有《文件》,对正在的程序来讲,用文件数存储据存到文件当中不是很好的选择。这里有数据库的概念。
  本次用文件来存储。
  本次内容实现 登陆 验证
  登陆验证 形式,必须输入正确的用户名和密码,才可以登陆
  一共验证三次。成功即运行程序,只要验证通过即可。
  形式   :机密游戏软件 需要知道用户名和密码,如果不知道 ,三次都失败,就把这个软件锁上。就打不开软件了。
  有了文件之后就可以做很多事情了,只不过要合理安排 存储方式,
  开局注册,把注册名 密码 存储到文件,然后登陆验证 时候,从密码文件里面,把用户 密码 读取出来,进行比较,看用户输入的是否相同,如果有 就可以开始玩这个游戏。如果输入用户名,密码三次的话,失败的话,就把用户名锁上。验证三次 不成功,把软件锁上,下次就无法运行。
  
  ▲ 登陆验证
  ◁open()
  ◁os
  
  
  验证形式,必须知道 验证名和密码。才可以开始运行这个程序,去玩这个游戏,如果三次都错,就直接锁上,下次就打不开。
  用到两个 函数 open()、os
  Open:功能:写入信息 创建文件 读取内容
  Os:功能:系统操作 ,判断文件是否存在。
  
  普通循环 判断 例子
'''
Heroes bate-0.2-1 英雄公测
'''
#普通判断版本
welcome = print ('welcome to Heroes world! -- 欢迎来到英雄世界!')
i = 0
while True:
    username = input ('login--注册用户名:')
    password = input ('password--输入你的密码:')
    i += 1
    if username == '王哥' and password =='administrator':
      print('')
      print('==loked登陆成功==')
      break
    elif i == 3:
      print('请输入正确管理员密码,你已经被loked 锁住了:')  

   运行结果
http://s1.运维网.com/images/20171229/1514487500986263.png输入正确用户密码显示http://s1.运维网.com/images/20171229/1514487538780815.png
  
  补充 while 循环
   http://s1.运维网.com/images/20171229/1514487573782766.png
  
  用IO文件 函数 open 和 os方法
  下面就要创建一个文件,创建一个文件 用 open。会显示的更加好看。
  
  下面就就不是 打印 loked 了 ,是通过 ope os 写出来的。
  下面的思路是,创建一个记录信息的文件,如果有这个文件,那我就认为,这个软件是被锁上的,如果没有这个文件,那就继续可以输入用户名 和密码。
  后期升级的话,那就判断有没有这个文件,如果有这个文件,里面记录着,某个人的名字,如果记录着,那就告诉代表这个账号被锁了。元旦过节,尽量 抽空学习 补上。
  

  

  open os 运用 列子
'''
Heroes bate-0.2-1 英雄公测
'''
#IO内置函数open os 版本
import os
welcome = print ('welcome to Heroes world! -- 欢迎来到英雄世界!')
i = 0
while True:
    if os.path.isfile('lock.log'):
      print('locked--上锁状态')
      break
    username = input ('login--注册用户名:')
    password = input ('password--输入你的密码:')
    i += 1
    if username == '王哥' and password =='administrator':
         pass
    else:
      if i == 3:
            open('lock.log','w').write(username)
            print('locked by-是它锁上的 %s'%username)
            break
      continue
    print('')
    print('==loked登陆成功,欢迎来到一刀999级的英雄无敌世界==')  

   运行结果
http://s1.运维网.com/images/20171229/1514487612640015.png 创建文件 并且写入的最后一个用户名称 http://s1.运维网.com/images/20171229/1514487623494763.png
  输入正确 用户 密码 就会 进入游戏 运行程序那边了。 这里 运行三次 是 退出 循环条件。没写其它东西。
http://s1.运维网.com/images/20171229/1514487648695902.png
  
  上锁后运行 状态 http://s1.运维网.com/images/20171229/1514487657866403.png
  
  小描述
  open 是用来创建一个文件。
  open('lock.log','w').write(username)
  解译:打开一个文件名为('lock.log后缀的文件'),w是写入,调用方法写信息,写用户名 文件记录了最后输入的名字。。
  /如果没有这个文件就自己创建一个。
  print('locked by %s'%username)
  解译:告诉是被那个用户锁上的。
  为了判断创建 存储数据文件 lock.log是否存在。
  这个时候 就要 导用一个模块, os ,为了判断 文件是否存在。
  判断 文件是存在方法。在os 当中有一个类,有个os.path-类.isfile-方法判断是否存在,某一个文件,文件是不是文件,用它判断('lock.log')是否存在。后面 就破坏这个循环,判断成立,直接生效。
  解锁方式 删除 在运行目录 创建的 文件即可。
  让判断失效。
   一月二号小更新
  生成文件对象

  fileobject = open(filename,mode)
  fileobject = file(filename,mode)
  本章收获
  IO 文件 中的 一个open 内置函数 使用
  一个 os 类中的os.path.isfile 使用
  2017年12月29日 王宇林
  
  
  




页: [1]
查看完整版本: python内置函数中的 IO文件系列 open和os