一、概述

在文件的读写操作中,python是相对容易学的,python对文件进行操作只需要使用open()创建一个file流对象,用这个对象对文件进行读和写操作。open()有两个参数,一个是url是必须的,一个是mode非必须的,不填默认为读文件。

二、示例

使用 open() 创建一个可以操作的文件对象,语法格式如下:

file = open('url',[mode='rt'])        open() 有两个参数,url(必填) 和 mode(选填)

url : 填写一个要进行读操作的文件路径

mode:如下

+ 打开一个文件进行更新(可读可写)
t 文本模式(默认)
r 以只读方式打开文件(默认)
r+ 打开一个文件用于读写。文件指针将会放在文件的开头
b 二进制模式
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写
ab+

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写

x 写模式,新建一个文件,如果该文件已存在则会报错

1、 使用 open() 创建文件对象

file1 = open('../../python笔记1.txt')# open : 一般填写两个参数,url 和 mode# url : 填写一个要进行读操作的文件路径# mode :#           r : 只读模式#           w : 文件不存在时创建文件进行写,文件存在则会覆盖文件原有数据进行写操作#           a : 打开文件见开始光标移动到末尾进行追加内容#           b : 二进制模式(可与读写模式一同使用)#           + : 可读可写模式 (可与其它的模式组合使用)#           如果不填默认 : 以字符类型进行读操作# 操作完有进行关闭流,我们向文件写数据时,数据会先放在缓存区内,当我们关闭文件流时,如果文件还未写完,缓存区内的数据会先写到文件中再关闭file1.close()

2、文件的写操作 --> write()

file2 = open('../../python笔记2.txt', 'a')  # 进行写操作
# .. 表示上一级目录
# 准备要写入的内容
write_test = '''黄鹤楼送孟浩然之广陵李白 唐
故人西辞黄鹤楼,烟花三月下扬州。
孤帆远影碧空尽,唯见长江天际流。
'''
count = file2.write(write_test)  # 一次性写入 并且返回写入的字符数量
print(count)  # ---> 64
file2.writelines(write_test)  # 只有将带有格式的内容作为参数写入才会换行
file2.writelines([1,2,3,4,5,6,7])  # 将整个列表依次写入,不换行
file2.writelines('a\n','b\n','c\n')  # 想要换行只能自己加上 \n
file2.close()

3、文件的读操作 --> read()

file3 = open('../../python笔记2.txt', 'r')  # 进行读操作
date = file3.read()  # 读取所有数据,读取完后光标在最后。 可填写size参数,读取size个字符
print(date)
date1 = file3.readline()  # 每读取一行光标向下移动一行,当没有数据可读时返回空字符串。可填写size参数,读取size个字符
print(date1 + 'end')
date_list = file3.readlines()  # 读取所有,以每行分隔为一个元素存储在列表中
print(date_list)
file3.close()

4、读取图片或者视频时,要使用 'rb' 参数,使用with时不不需要进行 colse(),程序会自动关闭

with open('文件操作/111.jpg', 'rb') as r_jpg:with open('文件操作/111_1.jpg', 'wb') as w_jpg:w_jpg.write(r_jpg.read())print('copy完成')
# 通过二进制的方式,就可以对视频流或者图片流进行拷贝了

三、相关方法的介绍

file.stat() 返回所有文件的属性
file.tell()   返回文件当前位置
file.seek() 移动文件读取指针到指定位置  
file.flush()  刷新文件,将缓冲区的数据立刻写到文件中
file.write() 将字符串写入文件,返回写入的长度
file.listdir() 返回path目录下的文件和目录列表
file.remove() 删除指定的文件
file.rename()

重写文件名或目录名

file.writelines() 向文件写入一个序列字符串列表
file.read([size]) 从文本读取指定字符,不填参数默认读取全部
file.readline([size]) 一行一行的从文件中读取数据,不填参数表示读取所有
file.readlines([size]) 读取所有,返回列表

四、自测题目

1、创建文件test.txt,文件一共1000行,每行存放一个区间在1~100之间的随机整数。

2、在当前目录新建一个目录 img ,里面包含100个后缀为 .png 的文件,100个文件名各不相同(由此list['1','2','3','4','5','a','b','c','d','e','f','g'] 随机组合排列为 XXXX.png)

3、将当前img目录所有以 .png 结尾的文件改为后缀为 .jpg

4、生成 100 个 MAC 地址并且写入到文件中,MAC地址前6位(16进制)为 01-AF-3B

例:        01-AF-3B-xx-xx-xx

python 中的文件读写操作 and 例题相关推荐

  1. python中的文件读写操作

    python中的文件读写操作 思维导图 Python读写CSV文件 csv文件是什么? CSV(Comma Separated Values)全称逗号分隔值文件是一种简单.通用的文件格式,被广泛的应用 ...

  2. Python中有关文件的操作

    Python中有关文件的操作 1.文件路径的书写 import os #这里返回的值是字符串 path = os.path.join(root_dir,file_dir) 2.列出文件夹中的文件 im ...

  3. Python中的文件读写

    文件基础知识 计算机有两种存储设备-内存储器和外存储器,虽然它们都是用来保存数据的,但无论外形还是特点都差别巨大.我们常见的硬盘属于外存储 器,而内存条就属于内存储器. (内存条)内存储器 VS (硬 ...

  4. Android中的文件读写操作

    在android开发中文件操作使用的其实还是比较高频的,之前我遇到这种需求都随便写写,对此没有一个比较全面的认识,所以想借这篇文章来梳理一遍. 由于需要读写文件,这包含了读写外部sd card的文件, ...

  5. Python中的文件IO操作(读写文件、追加文件)

    [注]:下述操作过程是结合多种网络方法,然后自己实践的结果.写在这里,主要目的是加深记忆,也希望能帮助后来者 Python中文件的读写包含三个步骤:打开文件,读/写文件,关闭文件. 文件打开之后必须关 ...

  6. cfile清空文件内容_体育老师学编程(第11天)python常用的文件读写操作

    学习内容:python文件处理 一.什么是文件: 前边学习了计算机的存储设备分为内存和硬盘两种,内存容量小,断电就丢失,我们若想长期存储一段内容,就需要存到硬盘中,那么存入的方式就是以文件形式存入的. ...

  7. C++中的文件读写操作(1)

    #include "iostream" #include "fstream" #include "vector" #include &quo ...

  8. python中对文件的操作_Python对文件操作知识

    这篇文章主要介绍了Python对文件操作知识汇总的相关资料,非常具有参考借鉴价值,需要的朋友可以参考下 打开文件 操作文件 1打开文件时,需要指定文件路径和打开方式 打开方式: r:只读 w:只写 a ...

  9. python高级语法 - 文件读写操作及其持久化

    文件 长久保存信息的一种数据信息集合(持久化) 常用操作 打开关闭(文件一旦打开,需要关闭操作) 读写内容 查找 open 函数 open函数负责打开文件,带有很多参数 第一个参数:必须有,文件的路径 ...

最新文章

  1. 懂得了这些才可以说学习Python入门了
  2. Open Cascade DataExchange DXF
  3. javascript笔记——点击按钮(或超链接)如何跳转到另外一个页面并执行目标页面的js函数...
  4. 【JetPack】数据绑定 DataBinding 简介 ( 使用要求 | Gradle 版本 | 定义数据类 | 定义数据绑定布局 | Activity 数据绑定 | 绑定类生成规则 )
  5. hdu oj1096题解
  6. Python爬虫-HTMLSession的使用
  7. scala函数定义示例
  8. Linux有关Shell中if用法笔记
  9. [POJ2888] Magic Bracelet
  10. Mr.J-- jQuery学习笔记(十八)--自定义动画
  11. XJava程序设计专家门诊
  12. python json文件太大_python - python json.dump创建的文件太大 - 堆栈内存溢出
  13. Redis 客户端工具
  14. MIT 线性代数 Linear Algebra 25: 对称矩阵的特征值特征向量,正定矩阵
  15. Could not autowire. No beans of 'Iface' type found. less... (Ctrl+F1) Inspection info:Checks autowi
  16. 制作CAB包以及文件签名
  17. drools学习笔记-rule组织方式
  18. Android系统定制开机logo和开机动画
  19. android web3j 代币查询_ERC20代币转账以及余额查询--java(web3j)
  20. JavaScript中replace

热门文章

  1. 关于利用postman来模拟并发请求
  2. 毕业论文的页眉页脚?奇偶页不同?前言作为第一页?……?这样弄!
  3. 从零开始之uboot、移植uboot2017.01(五、board_init_f分析)
  4. 一文梳理类脑计算的前世今生 | 中科院自动化所研究员李国齐
  5. SQL中的limit用法
  6. php网站加广告位,织梦广告位的添加调用
  7. oracle 切换用户为scott
  8. FreeRTOS学习笔记 2 - 任务
  9. 深度学习数学基础——矩阵微分篇
  10. Cisco Packet trace的常用命令