python学习的第八天文件处理part2

打开文件的模式有三种纯净模式:r(默认的) w a

# 控制操作文件内容格式的两种模式:t(默认的) b
# 大前提: tb模式均不能单独使用,必须与纯净模式结合使用
# t文本模式:
# 1. 读写文件都是以字符串为单位的
# 2. 只能针对文本文件
# 3. 必须指定encoding参数
# b二进制模式:
# 1.读写文件都是以bytes/二进制为单位的
# 2. 可以针对所有文件
# 3. 一定不能指定encoding参数

 

# 二 打开文件模式详解

#1. w只写模式: 在文件不存在时会创建空文档,文件存在会清空文件,文件指针跑到文件开头
# with open('b.txt',mode='wt',encoding='utf-8') as f:
# print(f.writable())
# print(f.readable())
# f.write('你好\n')
# f.write('我好\n') # 强调:在文件不关闭的清空下,后写的内容一定跟着前写内容的后面
# f.write('大家好\n')
# f.write('111\n222\n333\n')

# lines=['1111','22222','33333']
# for line in lines:
# f.write(line)
# f.writelines(lines)

用编码写出用户注册功能:

# new_name = input('请输入名字: ').strip()
# new_pwd = input('请输入密码: ').strip()
# write_file=open(r'file', mode='at',encoding='utf-8')
# info='%s:%s\n' %(new_name,new_pwd)
# write_file.write(info)

#2. r只读模式: 在文件不存在时则报错,文件存在文件内指针直接跳到文件开头
# with open('a.txt',mode='rt',encoding='utf-8') as f:
# print(f.readlines()

用编码写出用户登录功能:

name = input('请输入你的名字: ').strip()
pwd = input('请输入你的密码: ').strip()
with open(r'D:\临时文件\作业.txt', mode='rt', encoding='utf-8') as f:
    for line in f:
        x, y = line.strip('\n').split(':')
        if name == x and pwd == y:
            print('登录成功')
            break
    else:
        print('账号或密码错误')

 

用编码写出拷贝功能:

file1 = input('请输入原路径: ')
file2 = input('请输入目标路径:')
with open(r'%s' % file1, mode='rb') as f1, \
        open(r'%s' % file2, mode='ab') as f2:
    for line in f1:
        f2.write(line)

 

用with....as..写文件操作,会自动关闭操作系统中的内存

 

posted @ 2018-09-20 20:46  凌、云  阅读(82)  评论(0编辑  收藏  举报