Python之路Day08
文件操作
open() -- 打开
open通过Python控制操作系统打开文件
f=open('文件路径',mode='r',encoding='utf-8')
mode -- 不写就默认是r
f -- 文件句柄
file -- 文件位置
encoding -- 文件编码
r
print(f.read()) -- 全部读取
文件只能读取一次
print(f.read(3)) -- 按照字符读取(读不到最后一位)
f.readline() -- 读取一行,默认尾部有一个\n
f.readlines() -- 一行一行读取,全部储存在列表中
路径转义:
都改成
"\\"在路径开头加r
路径:
绝对路径:从磁盘(C盘)开始查找
相对路径:相对于某个文件进行查找
rb
f=open('文件路径',mode='rb')
字节操作时,不能指定encoding编码
f.read()
f.read(3) -- 按照字节读取
f.readline()
f.readlines()
r 和rb的区别:
r需要指定encoding,rb不需要
r中的read(3)按照字符读取,rb模式中按照字节读取
read 和 readlines 如果文件较大时,会出现内存溢出
解决方案:文件较大时使用for循环
f=open('文件路径',mode='r',encoding='utf-8')
for i in f:
print(i.strip()) #面试题
w
ff=open('a1',mode='w',encoding='utf-8')
ff.write('123') #写的内容必须是字符串有文件就用当前文件,没有文件就创建一个文件
写的内容必须是字符串
w操作:-- 清空写(写的是文本)
先清空文件(打开文件时清空)
写入内容
wb
清空写(写字节)
ff=open('a1',mode='w')
a
追加写
有文件就用用当前文件,没有就创建一个文件
ab
追加写字节
读写+操作
r+ 读写
f=open('b1',mode='r+',encoding='utf-8')
f=open('b1',mode='r+',encoding='utf-8')
f.write('今天是周一')
print(f.read()) #坑,只能先读后写
w+ 写读
f.seek() -- 移动光标
f=open('b1',mode='r+',encoding='utf-8')
f.write('今天是周一')
f.seek(0)
print(f.read())
a+ 追加写、读
坑:永远在末尾加,移动光标写内容还是在末尾追加
f=open('b1',mode='r+',encoding='utf-8')
f.write('今天是周一')
f.seek(0)
f.write('啊啊啊啊')
print(f.read())
其他操作
f.seek() -- 移动光标(光标是按照字节移动)
seek(0,0) -- 移动光标到文件头部
seek(0,1) -- 移动光标到当前位置
seek(0,2) -- 移动光标到文件末尾
f.tell() -- 查看光标(按照字节计算)
修改文件:
import os #操作系统交互接口
考点:
创建一个新的文件
读取旧的文件内容
进行替换修改
将修改的内容写入到新的文件中
将文件关闭
将文件名进行修改
将文件中全部内容读取容易导致内存溢出
with open('a1','r',encoding='utf-8')as f:
自动关闭文件
同时操作多个文件
with open('a1','r',encoding='utf-8')as f,open('a2','r',encoding='utf-8')as f1:
#上下文管理
文件操作目的
持久化:永久存储
Python之路Day08的更多相关文章
- 初学python之路-day08前期总结
# 1# 计算机原理:控制器 运算器 存储器 input设备 output设备 IO流# 三大核心:CPU 内存 硬盘 # 内存分布:栈区 与 堆区# 如二进制与十进制的转换,如1111转成十进制为1 ...
- 初学python之路-day08
#学习了编码后,还要了解三种字符串.# 一.# 普通字符串:u''以字符作为输出单位,# print(u'abc') # 用于显示abc# # 二进制字符串:b'' 二进制字符串以字节作为输出单位# ...
- 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 ...
随机推荐
- [CSGO]跑图CFG
bot_kick //剔除所有电脑 sv_cheats 1 //允许作弊指令 bot_stop 1 //bot静止 mp_warmup_end //结束热身时间 mp_freezetime 0 //开 ...
- scanf函数中*修饰符的作用,如:%*d
在scanf函数中,*修饰符可以跳过所在项的输入.如下: #include <stdio.h> int main() { ; printf("请输入:"); scanf ...
- MySQL索引优化深入
创建 test 测试表 CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c1` varchar(10) DEFAULT N ...
- 如何实现广告响应式滚动 OwlCarousel2
githu https://github.com/OwlCarousel2/OwlCarousel2 OwlCarousel2 官方网址 http://owlcarousel2.githu ...
- mysql必知必会--检 索 数 据
SELECT 语句 SQL语句是由简单的英语单词构成的.这些单词称 为关键字,每个SQL语句都是由一个或多个关键字构成的.大概,最经常 使用的SQL语句就是 SELECT 语句了.它的用途是从一个或多 ...
- ES集群调整搜索速度
一.内存文件系统足够的缓存 Elasticsearch严重依赖于文件系统缓存,以加快搜索速度.通常,您应确保至少有一半的可用内存分配给文件系统缓存,以便Elasticsearch可以将索引的热区保留在 ...
- 企业应用开发的大趋势,65%的应用开发将通过低代码完成 ZT
全球知名的咨询公司Gartner于近日发表了最新版的<低代码开发平台魔力象限>,并在报告中指出,到2024年65%的应用开发工作都将通过低代码的方式完成.Gartner长期关注软件开发领域 ...
- Centos7下安装包方式安装MySQL
安装包下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar 第一步:在 /h ...
- Linux /etc/network/interfaces
Linux下/etc/network/interfaces文件用来配置网络接口. 1. 使用动态IP地址 auto eth0 iface eth0 inet dhcp 2. 使用静态IP地址 auto ...
- checkbox 样式重写
css样式 .me-checkbox:checked { background: #1673ff } .me-checkbox { outline: none;/*轮廓*/ width: 25px; ...