目录

前言

要处理数据,就要操作文件,今天我们来学习一下最基本的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文件的操作(一)的更多相关文章

  1. 6.3Pytyhon文件的操作(三)

    目录 目录 前言 (一)文件的创建 (二)文件的删除 (三)文件的重命名 (四)文件的查看 (五)文件的复制 ==1.小文件的复制== ==2.大文件的复制== (六)文件的实战案例 ==1.文件的分 ...

  2. 6.2Python文件的操作(二)

    目录 目录 前言 (一)文件的定位 (二)文件的读操作 ==1.read()方法== ==2.readline()方法== ==3.readlines()方法== ==4.文件的遍历读法== (三)文 ...

  3. Linux命令-文件文本操作grep

    文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...

  4. [No000083]文件与文件夹操作

    #region Folder option 文件夹操作 /// <summary> /// 指定目录是否存在 /// </summary> /// <param name ...

  5. PHP 文件夹操作「复制、删除、查看大小」递归实现

    PHP虽然提供了 filesize.copy.unlink 等文件操作的函数,但是没有提供 dirsize.copydir.rmdirs 等文件夹操作的函数(rmdir也只能删除空目录).所以只能手动 ...

  6. c语言文件读写操作总结

    C语言文件读写操作总结 C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程 ...

  7. OC NSFileHandle(文件内容操作)

    OC NSFileHandle(文件内容操作) 初始化 [NSFileHandle fileHandleForUpdatingAtPath:@"data.txt"]; //file ...

  8. python对文件的操作

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...

  9. [转]Android - 文件读写操作 总结

     转自:http://blog.csdn.net/ztp800201/article/details/7322110 Android - 文件读写操作 总结 分类: Android2012-03-05 ...

随机推荐

  1. LeetCode刷题指南(字符串)

    作者:CYC2018 文章链接:https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Leetcode+%E9%A2%98%E8%A7% ...

  2. 【Java基本功】很多人经常忽视的Java基础知识点

    *.Java文件 问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件 ...

  3. python redis模块详解

    前言  现在越来越觉得知识的沉淀尤为重要,最近打算慢慢的把一些知识点做个记录,如果长期不用生疏了也可以快速回顾.下面我会依次介绍在python中常用组件redis,rabbitmq,mongodb,E ...

  4. 从零搭建生产环境的ghost2.0博客

    当前安装过程是在ghost cli 1.9.2上的,由于ghost更新特别快,我安装我个人博客cmlanche.com的时候还是1.9.1,当时没碰到啥问题,到1.9.2就有一点点不一样了,所以要注意 ...

  5. [JZOJ5837] Omeed

    Description Solution 有两种做法 一种是线段树维护一次方程系数,一种是线段树维护矩阵 准备都写一写 维护系数 首先把式子推出来 \[CS=B\times \sum\limits_{ ...

  6. [转]简单的动态修改RDLC报表页边距和列宽的方法

    本文转自:http://star704983.blog.163.com/blog/static/136661264201161604413204/ 1.修改页边距 XmlDocument XMLDoc ...

  7. C#编译错误 CS0009:未能打开元数据文件

    C#编译错误 CS0009:未能打开元数据文件 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS0009: 未能 ...

  8. babel-polyfill的引用和使用

    前两天一个首页项目,想用vue玩耍一下,就用vue-cli搭建了一套vue的开发框架 完成开发.联调和上线后,问题来了 chrome.ff浏览器下都能正常显示的页面,在百度浏览器下愣就显示不出来了 我 ...

  9. [PHP] 算法-数组重复数字统计的PHP实现

    在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为7的数组{ ...

  10. 【Spring】13、使用Spring 3的@value简化配置文件的读取

    Spring 3支持@value注解的方式获取properties文件中的配置值,大简化了读取配置文件的代码. 1.在applicationContext.xml文件中配置properties文件 & ...