python之文件操作

十、文件函数与资源类型

1.打开:将文件用打开为_io.TextIOWrapper类型,为一个半迭体

2.操作:

3.关闭:将新文件从内存刷入硬盘中   

4.指针:指针有两个,一个控制读的位置,一个控制写的位置。指针隔开字节或字符

1.打开文件

open('filename','mode',encoding=None)encoding为None就是unicode,但中文环境下,要习惯输入utf-8

2.7可以是用file(),其实Open()就是调用file()

 

打开模式

 

 

2、文件相关函数

 

3.另一个种打开方式

with open() as f :                               这种方式打开无需关闭
 
with open() as f1,open() as f2  :           同时打开两个文件
 
  for line in f1                                  这种方式读取,内存占用小
 
             f2.write(f1.read())

4.登陆模块的制作

def login(user,pwd):
    '''
    登陆验证函数
    :param user:用户名
    :param password:密码
    :return:True:登陆成功,False:登陆失败
    '''
    with open('n1.py','r',encoding='utf-8') as f:
        for line in f:             #挨个取出信息
            line = line.strip()    #去掉换行符
            line_list = line.split('$') #分割账号和密码
            if line_list[0] == user and line_list[1] == pwd:
                return True
        return False

def exist(user):
    '''
    检测是否重名
    :param user: 
    :return: 
    '''
    with open('n1.py','r',encoding='utf-8') as f:
        for line in f:             #挨个取出信息
            line = line.strip()    #去掉换行符
            line_list = line.split('$') #分割账号和密码
            if line_list[0] == user:
                return True
    return False

def register(user,pwd):
    '''
    更新用户数据
    :param user: 
    :param pwd: 
    :return: 
    '''
    with open('n1.py','a',encoding='utf-8') as f:
        f.write('\n'+user+'$'+pwd)

def main():
    print('欢迎')
    aaa = input('1:denglu;2:zhuce:')
    #登陆
    if aaa == '1':
        user = input('user:')
        pwd = input('pass:')
        is_login = login(user,pwd)
        if is_login:
            print('登陆成功')
        else:
            print('登陆失败')
    #注册

    elif aaa == '2':
        newu = input('user:')
        newp = input('pass:')
        is_exist = exist(newu)
        if is_exist:
            print('已存在')
        else:
            register(newu,newp)
            print('注册成功')

main()

  

 

posted on 2016-11-11 17:21  limpidstar  阅读(43)  评论(0)    收藏  举报

导航