day09 文件处理

一、注册与登录功能

username = input('请输入您的密码:').strip()
password = input('请输入您的密码:').strip() f = open('a.txt',mode='rt',encoding='utf-8')
for line in f:
user,pwd = line.strip('\n').split(':') if username == user and password = pwd:
print('登陆成功')
break
else:
print('登录失败')
f.close()

二、字符编码

1 什么是字符编码
人类的字符转换成数字的过程称之为字符编码
该过程需要参照一张表,该表称之为字符编码表
编码
人类的字符-----------转换成--------------》数字 解码
人类的字符《-----------转换成--------------数字
2 字符编码表
a--00
b--01
c--10
d--1
ASCII: 用8bit对应一个英文字符
可以识别英文字符 gbk:用16bit对应一个字符
可以识别中文字符、英文字符 shift-JIS:
可以识别日文字符、英文字符 Euc-KR
可以识别韩文字符、英文字符 万国字符编码表:unicode,用16bit位对应一个字符
兼顾两大历史使命
1、可以识别万国字符
2、兼容老的字符编码格式 内存中用的字符编码格式默认都是unicode,而且不能改变
我们可以改的是存入硬盘的字符编码格式 万国字符------------》unicode格式的二进制(内存)---------》utf-8格式的二进制(硬盘)
中文、英文字符------------》unicode格式的二进制(内存)---------》GBK格式的二进制(硬盘)
日文、英文字符------------》unicode格式的二进制(内存)---------》shift-JIS格式的二进制(硬盘) utf-8全称Unicode Transformation Format,
若想保证不乱码
1、保证存不乱
存入硬盘的编码格式要能识别输入的字符 2、保证读不乱
存取硬盘用得都是同一种字符编码格式 3、往硬盘存的新文件以后都存成utf-8格式 python3解释器默认读文件的编码格式是utf-8
python3解释器默认读文件的编码格式是ASCII
推荐用python3解释器,因为python3解释器存字符串类型的值会存储unicode格式
如果用到python2解释器,记得在字符串类型前加前缀u

三、 文件的打开模式

文件的打开模式分为两大类
一 控制文件读写内容
t(默认):无论读写都是以字符串为单位的,必须指定encoding参数
b:无论读写都是以bytes为单位的 文件读写操作
r(默认):只读模式
w:只写
a:只写(追加写) rt wt at
rb wb ab
r:如果不存在则报错,如果文件存在则指针置于文件开头
with open('a.txt',mode='rt',encoding='utf-8') as f:
print(f.read())
print('='*50)
print(f.read())
for line in f:
print(line)
f.write("你好") # 报错
w:如果不存在则创建空文档,如果文件存在则清空,指针置于文件开头
with open('a.txt',mode='wt',encoding='utf-8') as f:
f.write("你好啊1\n")
f.write("你好啊2\n")
f.write("你好啊3\n")
print(f.read()) # 报错 a:如果不存在则创建空文档,如果文件存在则清空,指针置于文件末尾
with open('c.txt',mode='at',encoding='utf-8') as f:
f.write("你好啊1\n")
f.write("你好啊2\n")
f.write("你好啊3\n")
print(f.read()) # 报错

day9 文件处理的更多相关文章

  1. day9文件操作---从即日起时景丽阳老师给我们讲课

    今天的主要内容是文件的操作,读,写,只读只写,或者可读同时可写,追加写,以二进制的方式读,以二进制的方式写,以二进制的方式追加. 思维导图: 给你一个文件路径,从中找出所有的文件,方法如下: # 方法 ...

  2. 【学习笔记】--- 老男孩学Python,day9, 文件操作

    有 + 就是有光标,注意光标位置 不同模式打开文件的完全列表:  http://www.runoob.com/python/python-files-io.html 模式 描述 r 以只读方式打开文件 ...

  3. day9 文件的读取

    文件操作 一.打开文件 f = open('歌词.txt','w',encoding='utf-8') # f:文件操作符 文件句柄 文件操作对象 open打开文件是依赖了操作系统提供的途径 操作系统 ...

  4. python学习day9 字符编码和文件处理

    1.字符编码 x='上' #unicode的二进制--------->编码-------->gbk格式的二进制 res=x.encode('gbk') #bytes 字节类型 print( ...

  5. day9 python学习 文件的操作 读 写 seek

    文件的操作 1   文件的打开操作: 文件句柄 = open('文件路径', '模式') f=open('wangyakun','a+',encoding='utf-8') #文件名, 如果是绝对路径 ...

  6. day9笔记--文件操作

    文件操作  计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用 ...

  7. day9 修改文件

    # 修改文件 # 文件是不能修改 with open('小护士班主任', mode='r', encoding='utf-') as f, open('小护士班主任.bak', 'w', encodi ...

  8. day9 python之文件操作

    1.文件操作 1.1 基本模式 # 格式 f = open("相对路径/绝对路径",mode = "模式",encoding = "编码级" ...

  9. day9.关于文件的操作

    一.文件操作 """ fp = open("文件名",mode="模式",encoding="utf-8") ...

随机推荐

  1. 查看VCS版本的指令

    以本人电脑的安装目录为例:在任意path下打开terminal执行命令行/usr/local/vcs2018/bin/vlogan -ID -full64 /usr/local/vcs2018为VCS ...

  2. C/C++如何传递二维数组?

    用二维数组作为参数传递(用二维数组处理矩阵),但是希望接受传递二维数组参数的函数可以处理任意维度的数组(希望矩阵的行数和列数都是不固定的). ----------------------------- ...

  3. hdu 3032 Nim or not Nim? (SG,然后找规律)

    题意: n堆石头,每堆石头个数:s[1]...s[n]. 每人每次可以选择在一堆中取若干个(不能不取),或者把一堆石头分成两堆(两堆要都有石头). 无法操作者负. 数据范围: (1 ≤ N ≤ 10^ ...

  4. SpringCloud微服务实战——搭建企业级开发框架(十五):集成Sentinel高可用流量管理框架【熔断降级】

      Sentinel除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一.由于调用关系的复杂性,如果调用链路中的某个资源不稳定,最终会导致请求发生堆积.Sentinel ...

  5. 带你理解MST性质

    写在前面 最小生成树的引出 假设要在n个城市之间建立通信联络网,则连通n个城市需要n-1条线路.在这种情况下,我们自然需要考虑一个问题,如何在最节省经费的条件下建立这个网络? 很自然地我们会想到,将各 ...

  6. 权限控制-RBAC(Role-Based Access Control)

    RBAC是基于角色的权限访问控制,在RBAC中角色与权限相连,用户通过成为某个角色而得到角色的权限,这就极大的简化了权限的管理,用户和角色多对多,角色和权限多对多,由此产生用户表.角色表.权限表,用户 ...

  7. docker file 笔记

    FROM    # FROM scratch,  FROM centos, FROM ubuntu:latest LABEL RUN  # 每运行一次RUN,image都会生成新的一层,为了美观,避免 ...

  8. Spring 为啥默认把bean设计成单例的?

    熟悉Spring开发的朋友都知道Spring提供了5种scope分别是singleton.prototype.request.session.global session. 如下图是官方文档上的截图, ...

  9. vue自定义指令实例使用(实例说明自定义指令的作用)

    在写vue项目的时候,我们经常需要对后台返回的数据进行大量的渲染操作,其中就包含了大量的对特殊数据的进一步处理,比如说时间戳.图片地址.特殊数据显示等等特殊数据处理改进. 其实遇到这种情况,通过Vue ...

  10. 【从头到脚品读 Linux 0.11 源码】第一回 最开始的两行代码

    从这一篇开始,您就将跟着我一起进入这操作系统的梦幻之旅! 别担心,每一章的内容会非常的少,而且你也不要抱着很大的负担去学习,只需要像读小说一样,跟着我一章一章读下去就好. 话不多说,直奔主题.当你按下 ...