码迷,mamicode.com
首页 > 其他好文 > 详细

如何优雅的打开文件

时间:2016-12-15 14:10:57      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:one   系统   class   打开文件   方式   登录系统   int   ini   注意   

文件的基本操作

这里讲主要是讲到如何打开文件,设置文件的打开权限以及方式

打开文件

打开文件的模式有:

  • r,只读模式(默认)。
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写;可追加】
  • w+,写读
  • a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab

文件的打开语法一般是open()语句

1 f  = open("txt","r") #用只读方式打开文件名为txt f变量作为文件的操作对象
2 
3 f.close() #文件打开后要记得关闭 

注意 使用只读‘r‘打开文件时是从文件头开始读取内容。使用追加‘a‘打开文件时是从文件末尾开始写入内容。在使用只写‘w‘往文件中写入文件时,是先创建一个新的文件将写的内容写到新的文件中再覆盖旧的文件,这样原文件中的内容都会消失。

练习

编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

锁定的用户名单

技术分享
张三
李四
lockedname

登录的用户名单

技术分享
尼古拉斯赵四 123
亚历山大王二 456
login

 

 1 #Auther: Xiaoliuer Li
 2 
 3 import sys
 4 
 5 f = open("lockedname", "r", encoding="utf-8")       #打开被锁定的用户名单 从头开始读取文件
 6 f1 = open("login","r",encoding="utf-8")       #打开登录用户的名单
 7 
 8 
 9 
10 
11 i = 0              #设置变量来控制循环次数
12 while i < 3:
13 
14     user = input("请输入用户名:")
15     for line in f:                                  #在被锁定的名单搜索用户名
16         if user == line.strip():
17             print("用户%s已经被锁定"%user)
18             sys.exit()   #跳出整个程序
19 
20     if len(user) == 0:
21         print("用户名不能为空 请重新输入")
22         continue
23 
24     passwd = input("请输入密码:")
25     T = False                         #设置变量来跳出循环
26     for line in f1:
27         if line.split()[0] == user and line.split()[1] == passwd:
28             print("success!")
29             T = True
30             break
31 
32     if T == False:                 #当变量为输入的用户和密码错误时进入此循环并使次数自增一次
33         if i < 2:
34             print(您的用户或密码有误,请重新输入!)
35         i += 1
36 
37     else:
38         print("欢迎用户 %s 来到登录系统" % user)
39         break
40 
41 else:
42     f = open("lockedname", "a", encoding="utf-8")    #在文件末尾追加用户名
43     print("你的用户%s已经被锁定!"%user)             #将三次输错的用户名写进名单
44     f.write("\n" + user)
45 
46 
47 f.close()
48 f1.close()

 

如何优雅的打开文件

标签:one   系统   class   打开文件   方式   登录系统   int   ini   注意   

原文地址:http://www.cnblogs.com/lixiaoliuer/p/6182917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!