python基础八之文件操作
python的文件操作
1,打开文件
编码方式要和文件的编码方式相同!
#open('路径','打开方式','指定编码方式')
f = open(r'E:\pycharm\学习\day8\test', mode='r', encoding='utf-8')
打开方式:
只读 r
with open('test', mode='r', encoding='utf-8') as f:
print(f.read())
只写 w
with open('test', mode='w', encoding='utf-8') as f:
f.write('举头望明月,低头思故乡。') # test文件不存在则新建 存在则删除原文件的内容后添加新的
追加 a
with open('test', mode='a', encoding='utf-8') as f:
f.write('举头望明月,低头思故乡。') # test文件不存在则新建 存在则在原文件内容的后面添加
读写 r+
with open('test', mode='r+', encoding='utf-8') as f:
print(f.read())
f.write('海上生明月,天涯共此时。') # 先读后写 写的添加到后面
with open('test', mode='r+', encoding='utf-8') as f:
f.write('海上生明月,天涯共此时。')
print(f.read()) # 先写后读 写的从头开始逐一覆盖添加
写读 w+
with open('test', mode='w+', encoding='utf-8') as f:
f.write('举头望明月,低头思故乡。')
print(f.read()) # 相当于先w清空写好内容后光标在最后索引r没有任何内容
with open('test', mode='w+', encoding='utf-8') as f:
print(f.read())
f.write('举头望明月,低头思故乡。') # 相当于先w清空 所以读的内容为空 然后再写入新的内容
2,操作文件
读文件
with open('test', mode='r', encoding='utf-8') as f:
print(f.read()) # 一次性读取全部内容
with open('test', mode='r', encoding='utf-8') as f:
print(f.readline()) # 一行一行读取
with open('test', mode='r', encoding='utf-8') as f:
print(f.readlines()) # 一次性读取全部,转换为列表,元素是每行的内容
写文件
with open('test', mode='w', encoding='utf-8') as f:
f.write('举头望明月,低头思故乡。') # test文件不存在则新建 存在则删除原文件的内容后添加新的
其他的操作方式
# 定义读取的字符个数
with open('test', mode='r', encoding='utf-8') as f:
print(f.read(2)) # 负数获取全部 0为空
# 移动指针位置
with open('test', mode='r', encoding='utf-8') as f:
f.seek(3) # 移动是按字节数
# f.seek(2) # utf-8一个中文字符三个字节表示 所以2个字节找不到报错
print(f.read())
# 获取字符指针的位置
with open('test', mode='r', encoding='utf-8') as f:
f.read() # 将文件读完 指针移动到结尾
print(f.tell()) # tell()返回指针位置
# 截取指定长度的字符 截取是按字节数
with open('test', mode='r+', encoding='utf-8') as f:
f.truncate(9) # 截取前9个字节,英文就是前九个 ,中文是前三个
3,关闭文件
一般在操作完成后加close()来完成关闭文件。(容易忘记!)
f = open(r'E:\pycharm\学习\day8\test', mode='r', encoding='utf-8')
content = f.read()
print(content)
f.close() # 关闭
另外一种方式可以有效的避免忘记写close()。
# 通过with ... as来进行文件处理,最后会自动关闭文件
with open('test', mode='r', encoding='utf-8') as f:
print(f.read())
python基础八之文件操作的更多相关文章
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- Python基础7:文件操作
[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...
- python学习笔记-(七)python基础--集合、文件操作&函数
本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...
- Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数
1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...
- python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...
- python基础学习笔记——文件操作
文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...
- Python基础之 一 文件操作
文件操作 流程: 1:打开文件,得到文件句柄并赋值给一个变量 2:通过句柄对文件进行操作 3:关闭文件 模式解释 r(读) , w(写) ,a(附加)r+(读写的读), w+(读写的写),a+(读附加 ...
- python基础学习之文件操作&函数
1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ...
随机推荐
- 获得CSM(Certified Scrum Master)-价值驱动交付。
2019年越来越多的企业开始实行敏捷转型,紧随时代潮流,学习最先进的科学管理方法,找到正确的人(团队),为企业交付高价值的产品服务. 导师Ethan ,培训的课程让人收益匪浅,活到老学到老,丰富的知识 ...
- <第一周> city中国城市聚类 testdata学生上网聚类 例子
中国城市聚类 # -*- coding: utf-8 -*- kmeans算法 """ Created on Thu May 18 22:55:45 2017 @auth ...
- EMAS,一部淘宝十年移动互联网技术的演进史
导读 本文根据2018云栖大会深圳峰会·EMAS专场—移动互联的进化论,阿里巴巴高级技术专家泠茗< EMAS全景介绍>的演讲整理而成,文中就EMAS的起源史及EMAS的五大移动研发场景解决 ...
- Hdu 4143
题目链接 好久没有在Hdu水题了,于是乎在无聊之际还是找了一道水题, 但是看完题目之后,明显是个数学题,我还是感觉有点打触的. 因为一直对数学题没有多大信心. 分析了一下,Y^2 = X^2 + n ...
- Python Unittest根据不同测试环境跳过用例详解
虽然现在用的Katalon,不过这篇Unittest基本的用法讲的还是不错的 转自:https://mp.weixin.qq.com/s/ZcrjOrJ1m-hAj3gXK9TjzQ 本文章会讲述以下 ...
- Neo4j学习笔记(1)——使用Java API实现简单的增删改查
阅读目录 项目的创建及配置 使用嵌入式数据库 创建节点和关系 查询及更新 删除关系和节点 完整代码 参考资料 回到顶部 项目的创建及配置 因为Neo4j依赖的jar包比较多,所以推荐使用Maven来管 ...
- 远程安装App到手机
注意: 必须是手机和电脑网络连通正常 1. 手机端安装终端模拟器. 2. 打开终端模拟器执行下面命令(也可以在adb shell中执行): su setprop service.adb.tcp.por ...
- Notepad++ ssh NppFTP链接linux
Notepad++是一套非常有特色的自由软件的纯文字编辑器,有完整的中文化接口及支持多国语言编写的功能.现在用Notepad++来远程编辑Linux系统文本文件. Notepad++ 1.Linux操 ...
- matlab 单元最短路 Dijkstra算法 无向图
W = [2 8 1 1 6 5 1 2 3 6 4 9 3 7 9]; S = [0 0 0 1 1 3 3 3 5 5 6 4 6 2 2];S=S+1; T = [1 3 2 4 3 4 5 6 ...
- 使用哈工大LTP进行文本命名实体识别并保存到txt
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/broccoli2/article/det ...