文件的读写方式:
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
fpath = r‘D:\tmp\account.txt‘
def user_register():
‘用户注册,注册成功返回True,失败返回False‘
username = raw_input("输入用户名:")
f = open(fpath)
for line in f:
account = line.strip().split(‘#‘)
if username == account[0]:
return False
f.close()
password = raw_input(‘请输入密码:‘)
f = open(fpath,‘a‘)
f.write(‘%s#%s\n‘% (username,password))
f.close()
return True
def user_login():
‘用户登录,成功返回0,用户不存在返回-1,密码错误返回-2‘
username = raw_input(‘请输入用户名:‘)
f = open(fpath)
for line in f:
account = line.strip().split(‘#‘)
if username == account[0]:
password = raw_input(‘请输入密码:‘)
if password == account[1]:
return 0
else:
return -2
break
else:
return -1
f.cloes()
def main():
while True:
print "1,用户注册"
print "2.登录"
print "3.退出"
opt = raw_input("请选择【1——3】")
if opt == ‘1‘:
ret = user_register()