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 ...
随机推荐
- linux中权限管理命令(chmod/chown/chgrp/unmask)
目录 chmod chown chgrp umask chmod 解释 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/ ...
- Shiro -- (四) 数据库支持
主要就是JdbcRealm这个类 先看一下部分源码: 先建表:users(用户名 / 密码).user_roles(用户 / 角色).roles_permissions(角色 / 权限),并且往use ...
- SAP 序列号与库存关联起来?
SAP 序列号与库存关联起来? SAP系统标准功能可以实现序列号管理.其系统配置也不复杂,但是不少企业却使用不起来.笔者参与的诸多项目里,只有现在所在的项目里有启用序列号管理.基于项目客户所在行业,以 ...
- mysql设置编码格式--支持中文
创建table的时候就使用utf8编码 在每次创建表的时候都在最后加上 character set = utf8就可以很好的支持中文 create table xxx ( id int auto_in ...
- Chrome的插件扩展程序安装目录
地址栏输入chrome:version回车 个人资料路径下的Extensions文件夹即默认的扩展安装路径
- PHP0026:PHP 博客项目开发3
- 测试.NET core MiddleWare 运行逻辑
话不多说,直接开整. 首先创建一个.NET CORE web 工程,创建完成之后,会自动创建相关文件如图(本示例基于.NET CORE 3.0): 打开Startup.cs可以看到在Configure ...
- 小Z的袜子(hose) HYSBZ - 2038 莫队+分块
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll>pl ...
- Jean-Pierre Serre访问录
问:是什么使您以数学为职业的? 答:我记得大概是从七.八岁时起喜欢数学的.在中学里, 我常做一些高年级的题目.那时,我寄宿于Nimes,与比我大的孩子住在一起,他们常常欺侮我,为了平抚他们,我就经常帮 ...
- 一个C语言程序是由( )组成?
A) 一个主程序和若干子程序组成 B)一个或多个函数组成 C) 若干过程组成 D) 若干子程序组成 正确答案 B 解析 [解析] 一个C源程序是由一个main函数和若干个其他函数组成的.函数是C程序的 ...