python摸爬滚打之day8---文件操作
1、文件读写的两种方式
1, f = open("文件位置",mode = "r", encoding = "utf-8")
content = f.read()
f.close()
注意: 读取完的文件句柄一定要关闭. 即f.close().
2, with open("文件位置",mode = "r", encoding = "utf-8") as f:
content = f.read()
读取完自动关闭.
2、r , w , a , r+ , w+ , a+
r: 只读
read(): 读取文件的所有内容.
read(n): 读取文件的前n个字符. 如果继续读取的话会在当前位置继续往后读, 而不是从头开始.
(如果以rb模式读取的话, read(n) 表示读取前n个字节).
readline(): 一次读取一行内容, 每行最后面有换行符 "\n". 继续读取的话会在当前位置继续往后读.
readlines(): 读取全部内容, 并将每行内容作为一个元素放进列表中. 继续读取的话会在当前位置继续往后读.
w: 只写
如果文件不存在, 则先创建文件, 再写进去; 如果文件已经存在, 则先删除全部旧内容, 再写新内容.
a: 追加
不论是a 还是a+ , 不管光标在什么位置, 都是在文件末尾添加新内容.
r+: 读写
光标位置是在开头的, 读完之后再写入, 写进文件末尾.
f = open("文件位置",mode = "r", encoding = "utf-8")
content = f.read()
f.write("内容")
注意: 如果先写再读, 则会在文件开头位置进行修改(不是添加), 然后读取修改内容后面的内容.(错误方式)
w+: 写读
先将内容清空, 然后再写进去, 光标位于文件末尾, 读取文件内容为空.
a+: 追加读
不论是先读还是后读都是读取不到内容的.
rb, wb
二进制的方式读取内容, 不用声明encoding编码方式, 常用于传输非文本内容(图片,音乐,视频等文件).
3、seek(), tell()
seek(): 光标移动到某位置.
f = open("文件位置",mode = "r", encoding = "utf-8")
f.seek(0) ----> 光标移动到开头位置
print(f.read()) ----> 读到全部内容
f.seek(0,2) ----> 光标移动到文件末尾
print(f.read()) ----> 读不到内容
注意: seek(参1,参2) 参1:表示偏移多少单位(字节为单位), 参2: 表示偏移到什么位置(0:文件开头; 1:当前位置; 2:文件末尾)
tell(): 光标当前位置.
输出的结果也是以字节为单位.
4、修改文件
只能将文件读取到内存中然后修改内容, 重新复制一份然后删除旧文件, 给新文件命名.
import os
with open("诗词","r",encoding="utf-8") as f ,\
open("诗词_副本","w",encoding="utf-8") as s:
for i in f:
i= i.replace("的","得")
s.write(i)
os.remove("诗词")
os.rename("诗词_副本","诗词")
文件修改
python摸爬滚打之day8---文件操作的更多相关文章
- python 全栈开发,Day8(文件操作)
一.文件操作流程 文件以什么编码存储的,就以什么编码打开 参数: 1.文件路径 2.编码方式,encode 3.执行动作(打开方式):只读,只写,追加,读写,写读... 打开一个已经存在的文件 f = ...
- python学习day8 文件操作(深度学习)
文件操作 (day7内容扩展) 1 文件基本操作 obj = open('路径',mode='模式',encoding='编码')obj.write()obj.read()obj.close() 2 ...
- python基础八之文件操作
python的文件操作 1,打开文件 编码方式要和文件的编码方式相同! #open('路径','打开方式','指定编码方式') f = open(r'E:\pycharm\学习\day8\test', ...
- Python基础7:文件操作
[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...
- python函数基础 与文件操作
函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: def function_name(arg1,arg2[,.. ...
- Python 第三天 文件操作(2)
文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和 fi ...
- python学习笔记4(文件操作)
文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”) 直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...
- python学习笔记-(七)python基础--集合、文件操作&函数
本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...
- Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数
1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...
- python学习笔记三 文件操作(基础篇)
文件操作 打开文件 open(name[,mode[,buffering]]) open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉] w ...
随机推荐
- [译]Godot 引擎 GDNative 架构初探
GDNative的架构从最早叫"DLScript"的时候到目前为止已经发生了很大的变化.随着Godot 3.0版本接近最终发布以及API越来越稳定,是时候对GDNative目前的形 ...
- netbeans rcp中如何编程设置主窗口标题
http://www.th7.cn/Program/java/201510/606050.shtml ————————————————————————————————————————————————— ...
- oracle 11G rac 11.2.0.1 打补丁9413827
这是升级到以后11.2.0.2.11.2.0.3.11.2.0.4的基础 主要参考两篇文章: Upgrade_11.2.0.1_GI_CRS_to_11.2.0.2_in_Linux.PDF文件 ht ...
- IntellIJ IDEA 配置 Vue 支持 打开Vue项目
[参考]零基础 Vue 开发环境搭建 打开运行Vue项目 IDEA版本: IntelliJ IDEA 2017.2 Windows 7 X64 IntelliJ IDEA下载地址:https://ww ...
- Springboot学习笔记(五)-条件化注入
前言 将Bean交给spring托管很简单,根据功能在类上添加@Component,@Service,@Controller等等都行,如果是第三方类,也可以通过标有@Configuration的配置类 ...
- Hibernate HQL的使用
1.简单查询(查询所有) Session session=HibernateUtil.getSessionFactory().getCurrentSession(); Transaction tx=s ...
- 硬件信息 dmidecode dmesg lsdev lshw haparm lsusb
dmidecode 显示从BIOS中获取的硬件信息 dmesg 检测到的硬件和启动的消息 lsdev 显示关于安装硬件信息 cat /proc/devices 显示当前核心配置的设备 haparm - ...
- ElasticSearch(一)-- 简介
ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apach ...
- Kafka ACL使用实战
自0.9.0.0.版本引入Security之后,Kafka一直在完善security的功能.当前Kafka security主要包含3大功能:认证(authentication).信道加密(encry ...
- C++定义字符数组
问:C++中定义字符型数组时'\0'是不是也占一位?是不是定义char a[5],只能有4个字符?那计算字符长度时又否忽略'\0'? 答: C++中定义字符型数组时'\0'是不是也占一位?是不是定义c ...