目录

前言

要处理数据,就要操作文件,今天我们来学习一下最基本的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. Android应用系列:值得收藏的ViewHolder工具类实现

    前言 在开发APP的过程中,攻城狮少不了要跟ListView.GridView这些组件眉来眼去,暗送几波秋波.自然原生态美人BaseAdapter更是程序员的最爱,有了它,我们想怎么干就能怎么干,嘿嘿 ...

  2. Java 8 新特性-菜鸟教程 (8) -Java 8 日期时间 API

    Java 8 日期时间 API Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理. 在旧版的 Java 中,日期时间 API 存在诸多问题,其中有: ...

  3. PHP序列化变量的4种方法

    序列化是将变量转换为可保存或传输的字符串的过程:反序列化就是在适当的时候把这个字符串再转化成原来的变量使用.这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性. 1.  serialize ...

  4. Linux 源码安装 FFmpeg

    加班次数频繁,已经快一年没有写博了.由于此次在项目中使用到了 FFmpeg 来处理音视频,顾记录下在 Linux 系统中源码安装 FFmpeg 以便不时之需. 1. 安装 yasm yasm 是一个汇 ...

  5. [CF438E] 小朋友和二叉树

    Description 给定一个整数集合 \(c\),对于每个 \(i\in[1,m]\),求有多少种不同的带点权的二叉树使得这棵树点权和为 \(i\) 并且顶点的点权全部在集合 \(c\) 中.\( ...

  6. [转] can not find module @angular/animations/browser

    本文转自:https://blog.csdn.net/yaerfeng/article/details/68956298 angularjs4升级了,原来的animations现在被单独出来一个包. ...

  7. yapi部署文档

    windows 下 yapi部署文档 安装nodejs 安装mongodb 安装yapi 介绍 随着 web 技术的发展,前后端分离成为越来越多互联网公司构建应用的方式.前后端分离的优势是一套 Api ...

  8. Redis Eval Script

    简介 从Redis 2.6 版本开始,内嵌支持 Lua 环境.通过使用EVAL或EVALSHA命令可以使用 Lua 解释器来执行脚本. EVAL和EVALSHA的使用是差不多的(下面有讲区别). EV ...

  9. ASP.NET WebAPI 集成 Swagger 启用 OAuth 2.0 配置问题

    在 ASP.NET WebAPI 集成 Swagger 后,由于接口使用了 IdentityServer 做的认证,调试起来很不方便:看了下 Swashbuckle 的文档 ,是支持 OAuth2.0 ...

  10. Java String的简单介绍

    一.String类的构造方法(先粗略介绍三种 分别是s1,s2,s3) 二.String的常用判断方法 三.String类的常用获取方法 三.Sting的常用转换方法 四.String其他功能   五 ...