6.1Python文件的操作(一)
目录
前言
要处理数据,就要操作文件,今天我们来学习一下最基本的python操作文件的方式。
(一)基础类型
| r | 只读 |
|---|---|
| w | 只写 |
| a | 追加 |
1.只读
(1)说明
打开文件时,不写读写模式,只读时默认值。文件的指针会放在开头,也就是从头读起,
当文件不存在时,会报错。
若操作写操作,会报错。
(2)源代码
# 1.打开文件
f = open("a.txt", "r")
# 2.读写操作
content = f.read()
print(content)
# 3.关闭文件
f.close()
(3)输出效果
a.txt文件只写有:123def

2.只写
(1)说明
以只写的方式打开文件,清空之前的内容,指针再开头处。
若文件不存在,则会创建一个新的文件。
若操作读操作会报错。
(2)源代码
# 1.打开文件
f = open("b.txt", "w")
# 2.读写操作
f.write("abcdefg")
# 3.关闭文件
f.close()
(3)输出效果

3.追加
(1)说明
与只写的方式一样,唯一的取别在于,再进行写操作的时候,指针是在结尾处,在后面追加内容。
(2)源代码
# 1.打开文件
f = open("c.txt", "a")
# 2.读写操作
f.write("456")
# 3.关闭文件
f.close()
(3)输出效果
原本从 c.txt 只有abcdefg 的内容。

(二)b二进制组合
操作二进制文件,例如图片,视频,音频等
| rb | 只读二进制文件 |
|---|---|
| wb | 只写二进制文件 |
| ab | 追加二进制文件 |
1.读写二进制文件
(1)说明
我们把一张图片的一半二进制数据写入另一张图片会怎么样?
请看下面操作
(2)源代码
# 1.得到数据源
# 1.1 打开文件
from_file = open("from.png", "rb")
# 1.2 读取文件
from_content = from_file.read()
# 1.3 关闭文件
from_file.close()
# 2.写入到新的文件
# 2.1打开文件
to_file = open("to.png", "wb")
# 2.2 写入文件
to_content = from_content[0:len(from_content)//2]
to_file.write(to_content)
# 2.3关闭文件
to_file.close()
(3)输出效果
1)原图片

2)截取后的图片

(三)+ 附加组合
在之前单一功能的基础上,添加另一个功能。例如写可以添加读,读可以添加写。
| r+ | 读附加 |
|---|---|
| w+ | 写附加 |
| a+ | 追加附加 |
| rb+ | 读二进制附加 |
| wb+ | 写二进制附加 |
| ab+ | 追加二进制附加 |
1.读附加
(1)说明
与只读的功能差不多,不过添加了写的功能,这个写的功能与只写的功能有区别。
这个写只根据指针的位置来写,即使指针在开头,也只是部分的覆盖。
(2)源代码
# 1.打开文件
f = open("a.txt", "r+")
# 2.读写操作
# 2.1读
content = f.read()
print(content)
# 2.2写
f.write("123")
# 3.关闭文件
f.close()
(3)输出效果
1)输出效果

2)追加后的文件

2.写附加
(1)说明
写附加,是添加了读的功能,不过没有指定位置时u,读出来的都是空的。
(2)源代码
# 1.打开文件
f = open("d.txt", "w+")
# 2.读写操作
# 2.1读
content = f.read()
print(content)
# 2.2写
f.write("123456")
# 2.3再读
content = f.read()
print(content)
# 3.关闭文件
f.close()
(3)输出效果

3.追加附加
(1)说明
其附加也是添加了读的功能,不过,在没有指定位置的时候,读出来的都是空的。
(2)源代码
# 1.打开文件
f = open("e.txt", "a+")
# 2.读写操作
# 2.1读
content = f.read()
print(content)
# 2.2写
f.write("abc")
# 2.3再读
content = f.read()
print(content)
# 3.关闭文件
f.close()
(3)输出效果
e.txt 追加前是:123456
e.txt 追加后是: 123456abc

作者:Mark
日期:2019/02/07 周四
6.1Python文件的操作(一)的更多相关文章
- 6.3Pytyhon文件的操作(三)
目录 目录 前言 (一)文件的创建 (二)文件的删除 (三)文件的重命名 (四)文件的查看 (五)文件的复制 ==1.小文件的复制== ==2.大文件的复制== (六)文件的实战案例 ==1.文件的分 ...
- 6.2Python文件的操作(二)
目录 目录 前言 (一)文件的定位 (二)文件的读操作 ==1.read()方法== ==2.readline()方法== ==3.readlines()方法== ==4.文件的遍历读法== (三)文 ...
- Linux命令-文件文本操作grep
文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...
- [No000083]文件与文件夹操作
#region Folder option 文件夹操作 /// <summary> /// 指定目录是否存在 /// </summary> /// <param name ...
- PHP 文件夹操作「复制、删除、查看大小」递归实现
PHP虽然提供了 filesize.copy.unlink 等文件操作的函数,但是没有提供 dirsize.copydir.rmdirs 等文件夹操作的函数(rmdir也只能删除空目录).所以只能手动 ...
- c语言文件读写操作总结
C语言文件读写操作总结 C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程 ...
- OC NSFileHandle(文件内容操作)
OC NSFileHandle(文件内容操作) 初始化 [NSFileHandle fileHandleForUpdatingAtPath:@"data.txt"]; //file ...
- python对文件的操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...
- [转]Android - 文件读写操作 总结
转自:http://blog.csdn.net/ztp800201/article/details/7322110 Android - 文件读写操作 总结 分类: Android2012-03-05 ...
随机推荐
- 理解Array.prototype.fill和Array.from
之所以将这两个方法放在一起说,是因为经常写这样的代码: Array.from({length: 5}).fill(0),看起来很简洁,但是踩到坑之后才发现自己对这两个方法实在是不求甚解. Array. ...
- CSS 基础:文本和字体(4)<思维导图>
这段时间利用一下间隙时间学习了CSS的基础知识,主要目的是加深对CSS的理解,虽然个人主要工作基本都是后台开发,但是个人觉得系统学习一下CSS的基础还是很有必要的.下面我学习CSS时做的思维导图(全屏 ...
- C语言实现多态
C语言实现多态 首先声明,大神就不要看了.小弟水平有限. C++多态是通过虚函数表实现的,类似于JAVA多态的实现方式.关于Java多态的实现方式可以看我之前写过的一篇不是很完善的文章.从JVM角度看 ...
- 自己动手实现java数据结构(二) 链表
1.链表介绍 前面我们已经介绍了向量,向量是基于数组进行数据存储的线性表.今天,要介绍的是线性表的另一种实现方式---链表. 链表和向量都是线性表,从使用者的角度上依然被视为一个线性的列表结构.但是, ...
- 使用com.aspose.words将word模板转为PDF乱码解决方案(window下正常)
最近在做电子签名过程中,需要将合成的电子签名的word文件(正常)转换为pdf文件时,在开发平台window下转换没有问题,中文也不会出现乱码.但是将项目部署到正式服务器(Linux)上,转换出来的p ...
- MySQL查看 InnoDB表中每个索引的高度
我们都知道MySQL里,索引通常用B+树来实现的.B+树的叶子结点才具体保存数据(聚簇索引保存的是行数据:普通索引是主键,如有需要得回表),非叶子结点都是用来索引叶子结点的.假设索引高度为h,那么每次 ...
- html2canvas脚本实现将html内容转换canvas内容
在开始使用html2canvas之前,有一些关于html2canvas及其一些限制的好处. 介绍 该脚本允许您直接在用户浏览器上截取网页或部分网页的“屏幕截图”.屏幕截图基于DOM,因此它可能不是真实 ...
- 部署DTCMS到Jexus遇到的问题及解决思路---Linux环境搭建
最近朋友托我帮忙研究如何把一个DTCMS部署到Linux下,经过1天的研究,部署基本成功,可能有些细节还未注意到,现在把心得分享一下.过程比预期的要简单 身为.Net程序员,这个问题的第一步可能就是如 ...
- js 对url进行编码和解码的三种方式
一.escape 和 unescape escape 原理:对除 ASCII字母.数字.标点符号(@ * _ + - . /) 以外的字符进行编码 .编码的字符被替换成了十六进制的转义序列 不编码的字 ...
- C# Aspose.Cells控件读取Excel
Workbook workbook = new Workbook(); workbook.Open("C:\\test.xlsx"); Cells cells = workbook ...