python之路——8
王二学习python的笔记以及记录
学习内容
.1.文件操作
笔记.txt
1.文件路径:D:\python\Day8\笔记.txt
2.编码方式:GB2312
3.操作方式:只读,只写,追加,读写,写读...
以什么编码方式储存文件,就以什么编码进行操作
2. 各种操作 r w a r+ a+ w+
代码区
1.文件操作练习
# 只读文件 r
'''
# 非文字文件 用rb
f = open('d:\python\Day8\笔记.txt', mode='r', encoding='GB2312')
content = f.read()
print(content, type(content))
f.close()
'''
# 只写文件 w
'''
# w 没有文件,创建文件;有文件,删除内容再写入
f = open('log', mode='w', encoding='utf-8')
f.write('大萨达所')
f.close()
# wb
f = open('log', mode='wb',)
f.write('dsadsasds所'.encode('utf-8'))
f.close()
'''
# 增加内容 a a+ 增读
'''
f = open('log', mode='a', encoding='utf-8')
f.write('增加内容')
f.close() f = open('log', mode='ab')
f.write('假期'.encode('utf-8'))
f.close() f = open('log', mode='a+', encoding='utf-8')
f.write('增加内容')
f.seek(0)
print(f.read())
f.close()
'''
# 读写(r+ 读写顺序不要乱) 文件
'''
f = open('log', mode='r+', encoding='utf-8')
print(f.read())
f.write('呦西')
f.close() f = open('log', mode='r+b')
print(f.read())
f.write('呦西'.encode('utf-8'))
f.close()
'''
# 写读(w+ 写读顺序不要乱) 文件
'''
f = open('log', mode='w+', encoding='utf-8')
f.write('呦西')
f.seek(0)
print(f.read())
f.close() f = open('log', mode='w+b')
f.write('呦西'.encode('utf-8'))
f.seek(0)
print(f.read())
f.close()
'''
# 功能详解
# 按照最小字符去读 seek 是按照字节定义光标,unicode 中一个中文=3字节
'''
f = open('log', mode='r+', encoding='utf-8')
f.seek(3)
print(f.tell())
print(f.read())
f.close()
'''
# tell 使用 无论怎么调节光标a操作直接增加到最后
'''
f = open('log', mode='a+', encoding='utf-8')
f.write('增加内容')
count = f.tell()
f.seek(count - 3)
print(f.read())
f.close()
'''
# 命令
'''
f.tell()
f.readable() # 是否可读
f.readline() # 一行一行读
f.readlines() # 将每行当成列表中的一个元素
f.truncate(6) #对源文件进行截取 按字节 for line in f:
print(line) # 循环打印源文件 with open('log', mode='r+', encoding='utf-8') as f:
print(f.read())
with open('log', mode='r+', encoding='utf-8') as f, open('笔记.txt', mode='r+', encoding='GB2312') as f1:
print(f1.read()) # 同时打开多个
'''
2.用户注册,登陆,三次机会
# 用户注册,并登录,三次机会
print('欢迎注册')
account = input('请输入用户名')
answer = input('请输入密码')
with open('log', mode='w+', encoding='utf-8') as f:
f.write(account+'\n')
f.write(answer)
print('注册成功,请登录')
li = []
with open('log', mode='r+', encoding='utf-8') as f1:
for line in f1:
li.append(line)
count = 3 while count >= 1:
count = count - 1
acc = input('请输入账号')
if acc == li[0].strip():
count = 3
while count >= 1:
count = count - 1
ans = input('请输入密码')
if ans == li[1].strip():
print('正在登陆请稍后')
quit()
else:
print('密码错误,剩余次数', count)
continue
else:
print('账号输入错误,剩余次数',count)
if count == 0:
print('机会用完啦,明天再来吧')
break
continue
python之路——8的更多相关文章
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- Python之路
Python学习之路 第一天 Python之路,Day1 - Python基础1介绍.基本语法.流程控制 第一天作业第二天 Python之路,Day2 - Pytho ...
- python之路 目录
目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- Python之路【第十五篇】:Web框架
Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...
- Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...
- Python之路【第八篇】:堡垒机实例以及数据库操作
Python之路[第八篇]:堡垒机实例以及数据库操作 堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...
随机推荐
- Cassandra.yaml 配置详解
cluster_name 设置Cassandra集群的名称. 在Cassandra集群中,每一台服务器都必须具备相应的集群的名称.如果名称不一致,则当前Cassandra服务器无法加入集群. init ...
- MapReduce(五)
MapReduce的(五) 1.MapReduce的多表关联查询. 根据文本数据格式.查询多个文本中的内容关联.查询. 2.MapReduce的多任务窜执行的使用 多任务的串联执行问题,主要是要建立c ...
- c# Excel 行高、列宽、合并单元格、单元格边框线、冻结
http://www.2cto.com/kf/201007/52724.html 新增选择整列: Range = ((Range)(WALeTieSheet.Cells[1, PwCStartCol_ ...
- day38-多进程多线程-进程池
强大的Manage上一篇的数据共享的方式只有两种结构Value和Array.Python中提供了强大的Manage专门用来做数据共享的,其支持的类型非常多,包括,Value, Array,list,d ...
- linux的简单操作和安装
1.学习linux,安装的方式在你的windows上安装一个 vmware虚拟化软件(基于它可以安装各种系统) 2.公司中 会提供一个云服务器给你用 服务器ip 123.206.16.61 公网ip账 ...
- Alpha冲刺4
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/9979357.html 作业博客:https://edu.cnblogs.com/campus/ ...
- msfvenom生成各类Payload命令
Often one of the most useful (and to the beginner underrated) abilities of Metasploit is the msfpayl ...
- oracle11g的监听配置文件中的program和env两个配置,必须干掉,客户端才能正常连接
oracle11g的监听配置文件中的program和env两个配置,必须干掉,客户端才能正常连接 oracle11g的监听配置文件中的program和env两个配置,必须干掉,客户端才能正常连接 or ...
- ecmall 后台添加新菜单
所谓的开发新菜单,其实是和开发模块相对比的,之前说的开发模块,是在应对较大的,或者较为复杂,又相对独立于其他功能的项目需求. 而开发菜单,就是简单的在后台增加一个一级菜单以及其子菜单,或者直接在现有的 ...
- React Native 安卓 程序运行报错: React Native version mismatch(转载)
这个问题已经得到解决,参照stackoverflow上的问题:https://stackoverflow.com/que...这个问题的原因就处在Android工程中app/build.gradle中 ...