Python基础之文件操作

Open函数:用于文件的处理

  • 打开文件
  • 进行文件的操作

一、文件的打开:

  文件句柄=open("文件名","打开模式")

  1.文件基本打开模式:

  • r:只读模式
  • w:只写模式(不可读,文件不存在则创建文件,文件如果存在则清空文件)
  • x:只写模式(不可读,文件不存在则创建,存在则报错)
  • a:追加模式(可读,文件不存在则创建文件,文件存在则追加内容)  

  2.“+”表示可以同时读写某个文件:

  • r+:表示读写(可读,可写)
  • w+:表示写读(可读,可写):默认情况下,先写再读,因为写完后,文件的指针移动到写内容的末尾,这时再读是读不到内容;文件不存在则创建,文件存在则清空;
  • x+:表示写读(可读,可写):类似w+的情况,但是文件如果存在则报错,不存在则创建;
  • a+:表示写读(可读,可写):默认情况下,先写再读,文件存在写是以追加的方式来写,因为写完后,文件的指针移动到写内容的末尾,这时再读是读不到内容;

 

  3."b"表示以字节的方式操作

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

 

 

文件操作的举例:

def log_in(user,pwd):
"""
#验证用户的登录信息
:param user:
:param pwd:
:return:
"""
f1 = open("db", 'r', encoding="utf-8")
for line in f1:
line = line.strip()
line_list = line.split("$")
if line_list[0] == user and line_list[1] == pwd:
return True
return False


def register(user,pwd):
"""
#注册用户名信息
:param user:
:param pwd:
:return:
"""
with open("db",'a',encoding="utf-8") as f2:
temp = "\n" + user +"$" + pwd

f2.write(temp)

return True
def user_exist(user):
"""
#验证要注册的用户名是否已存在
:param user:
:return:
"""
with open("db",'r',encoding="utf-8") as ff:
for line1 in ff:
line1 = line1.strip()
line1 = line1.split("$")
if line1[0] == user:
return True
return False


#判断用户的登录模式
inp = input("登录:1,注册:2")
if inp ==1:
username = input("请输入用户名:")
passwd = input("请输入密码:")
is_login = log_in(username, passwd)

if is_login:
print("登录成功")
else:
print("登录失败")
else:
username = input("请输入用户名:")
passwd = input("请输入密码:")
is_register = user_exist(username)

if is_register:

print("用户名已存在,注册失败")

else:

is_chk = register(username,passwd)

if is_chk:
print("注册成功")
else:
print("注册失败")
posted @ 2017-09-03 18:53  hjw457  阅读(125)  评论(0)    收藏  举报