自学python之路(day5)
一、文件操作
1. 只读
1) r
以str形式
f = open('d:\文件操作.txt',mode='r',encoding='utf-8') # r是默认的
content=f.read()
print(content,type(content))
f.close()
2) rb
#b 表示以bytes形式(bytes类型是以字节为单位处理的,非文字文件上传下载)
f = open('d:\文件操作.txt',mode='rb')
content=f.read()
print(content)
f.close()
2. 只写
# 没有文件就创建文件去写,有源文件将源文件内容覆盖
1) w
#str形式
f = open('log',mode='w',encoding='utf-8')
f.write('恢复')
f.close()
2) wb
#以bytes形式(bytes类型是以字节为单位处理的,非文字文件上传下载)
f = open('log',mode='wb')
f.write('粉红色'.encode('utf-8'))
f.close()
3. 追加
1) a
f = open('log',mode='a',encoding='utf-8')
f.write('哈喽')
f.close()
2) ab
f = open('log',mode='ab',) # b 表示以bytes形式(bytes类型是以字节为单位处理的,非文字文件上传下载)
f.write('哈喽哈喽'.encode('utf-8'))
f.close()
4. 先读后写
1) r+
最常用
f = open('log',mode='r+',encoding='utf-8')
print(f.read())
f.write('哈喽哈喽')
f.close()
2) r+b 以bytes的形式
f = open('log',mode='r+b')
print(f.read())
f.write('哈喽哈喽'.encode('utf-8'))
f.close()
5. 先写后读
1) w+
先把原内容清除,再去写
f = open('log',mode='w+',encoding='utf-8')
f.write('哈喽哈喽')
f.seek(0) #读光标
print(f.read())
f.close()
2) w+b
以bytes的形式(bytes类型是以字节为单位处理的)
f = open('log',mode='w+b')
f.write('哈喽哈喽'.encode('utf-8'))
f.seek(0)
print(f.read())
f.close()
6. 追加后读
1) a+
f = open('log',mode='a+',encoding='utf-8')
f.write('哈喽哈喽')
f.seek(0) #读光标
print(f.read())
f.close()
2) a+b
f = open('log',mode='a+b')
f.write('哈喽哈喽'.encode('utf-8'))
f.seek(0) #读光标
print(f.read())
f.close()
二、练习题
用户登录,三次机会
username=input('请输入用户名:')
password=input('请输入密码:')
info_list=[]
with open('user_info',mode='w',encoding='utf-8') as f:
f.write('{}\n{}'.format(username,password))
i=0
while i<3:
usn=input('请输入用户名:')
pwd=input('请输入密码:')
with open('user_info',mode='r+',encoding='utf-8') as f1:
for info in f1:
info_list.append(info)
if usn == info_list[0].strip() and pwd == info_list[1].strip():
print('登陆成功!')
break
else:
print('账号或密码错误!')
i+=1
自学python之路(day5)的更多相关文章
- 自学Python之路
自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的搭建:Pycharm及python安装详细教程 1.3 ...
- 自学Python之路-Python核心编程
自学Python之路-Python核心编程 自学Python之路[第六回]:Python模块 6.1 自学Python6.1-模块简介 6.2 自学Python6.2-类.模块.包 ...
- 自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
- 自学Python之路-django
自学Python之路-django 自学Python之路[第一回]:1.11.2 1.3
- 自学Python之路-Python并发编程+数据库+前端
自学Python之路-Python并发编程+数据库+前端 自学Python之路[第一回]:1.11.2 1.3
- 自学Python之路-Python网络编程
自学Python之路-Python网络编程 自学Python之路[第一回]:1.11.2 1.3
- NO.3:自学python之路------集合、文件操作、函数
引言 本来计划每周完成一篇Python的自学博客,由于上一篇到这一篇遇到了过年.开学等杂事,导致托更到现在.现在又是一个新的学期,春天也越来越近了(冷到感冒).好了,闲话就说这么多.开始本周的自学Py ...
- NO.1:自学python之路------Hello world、判断、循环
引言 人工智能如今越来越贴近生活,在这里将记录我自学python与tensorflow的过程.编程使用IDE:visual studio 2017,python版本3.6.4,tensorflow版本 ...
- Python之路Day5
一.时间复杂度 (1)时间频度: 一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费的时间就多.一个算法中的语句执行次数称为语句频度或时间频度,记为T(n). (2)时 ...
随机推荐
- centos7配置consul
下载wget https://releases.hashicorp.com/consul/1.4.2/consul_1.4.2_linux_amd64.zip解压unzip consul_1.4.2_ ...
- day_其他操作符的重载
#include <iostream> #include <stdlib.h> using namespace std; class A{ public: A(void) { ...
- vi编程技巧:
h #向上j #向左k #向右l #向下a #插入o #插入一行,并在行首开始O #在当前行前插入一行,并在行首开始dd #删除当前行x #删除当前字符yy #复制当前行p #在当前行后面粘贴P #在 ...
- Oracle高级查询之over(partition by...)
现有表,数据如下: eg1:查询年龄第二的队员 通常写法: select * from (select a.*, rownum r from (select t.* from l_student_in ...
- MongoDB数据查询 --MongoDB
1.插入测试数据 use flower db.goods.insert({'goods_name':'Hyacinth',price:10,num:800}) db.goods.insert({goo ...
- 集合基本操作 Python DAY2
集合本身具有两个特性 1.去重 2.关系测试 列表转集合的两种写法: list_1=[1,2,3,4,1,2,7,8,] list_1=set(list_1) #方法二 list_2=set([1, ...
- gm图片处理器:The gm/convert binaries can't be found
今天在使用node处理模块gm的时候,总是无法正常使用,报:The gm/convert binaries can't be found(找不到gm/convert二进制文件) google了一下,发 ...
- Adobe Photoshop安装
Photoshop cc2018安装 Adobe 软件套装已不再以 (Creative Suite) CS命名,而是改成 (Creative Cloud) CC,主推云服务!Adobe CC 套装中总 ...
- 创建ajax的步骤
第1步:创建XMLHttpRequest对象,也就是创建一个异步调用对象. 第2步:创建一个新的HTTP请求,并指定该HTTP请求的方法.URL以及验证信息. 第3步:设置响应HTTP状态变化的函数. ...
- WDA基础十七:ALV不同行显示不同下拉
1.给ALV结构添加VALUE SET字段. 2.初始化时将TYPE_SET字段设置为值范围. METHOD wddoinit . DATA: lo_node TYPE REF TO if_wd_co ...