Python 第十三节 文件操作

A

1、首先文件读写操作有以下几种模式:

  a\a+  w\w+ r\r+  

a模式:追加_写入模式,写入指针默认在开头,如果文件存在将在开头追加写入,如果文件不存在将创建文件再写入。

a+模式:追加_读写模式,可读可写,写入指针默认在末尾,如果文件存在将在末尾追加写入,如果文件不存在将创建文件再写入。

w模式:写模式,如果文件存在,把文件覆盖再写入,如果文件不存在将创建文件再写入。

w+模式:写读模式,可写可读,如果文件存在,把文件覆盖再写入,如果文件不存在将创建文件再写入。

r模式:读模式,如果文件存在,可读取文件数据,如果文件不存在读取将会报错。

r+模式:读写模式,可读可写,如果文件存在,可读取或写入文件数据,如果文件不存在读或写取将会报错。



2、而使用以上操作模式可以通过 open()  函数操作文件;

a、以下是open()使用方式

1 a_file = open(‘文件路径‘,‘操作模式‘)


例: w模式  

a_file = open(‘testf.txt‘,‘w‘,encoding=‘utf-8‘) #这里传入的第一个参数是路径及文件名,第二个参数是文件操作模式,第三个参数是字符编码。
a_file.write(‘测试写入‘) #这里使用到 open()的内置函数 write() 通过这个函数可以往里面写入数据,注意:write()传入的是str()字符串。

上面例子,是在当前的目录下打开testf.txt文件并向这个文件里面写入“测试写入”,如果这个当前目录下这个文件不存,

那么将会创建一个文件并写入,如果当前目录已经存在,那么将会打入写入数据并覆盖之前文件。



例:w+模式  

a_file = open(‘testf.txt‘,‘w+‘,encoding=‘utf-8‘)
a_file.write(‘我出现了‘)
a_file = open(‘testf.txt‘,‘w+‘,encoding=‘utf-8‘)
bf=a_file.read()
print(bf)

执行后结果:

>>>我出现了

通过上面例子,w+是可以写也可以读取文件数据。



例: r模式  与  r+模式

a_file = open(‘testf.txt‘,‘r‘,encoding=‘utf-8‘)
af=a_file.read()
print(af)
>>>我出现了

a_file = open(‘testf.txt‘,‘r+‘,encoding=‘utf-8‘)
a_file.write(‘我又出现了‘)#这里直接使用了write写入,直接把‘我出现了’覆写了。在这之前可以,先读文件,之后再写文件,这样就可以在后面追加数据了。
bf=a_file.read()
print(bf)
>>>我又出现了


例: a模式  与  a+模式

a_file = open(‘testf.txt‘,‘a‘,encoding=‘utf-8‘)
a_file.write(‘我出现了A‘)

a_file = open(‘testf1.txt‘,‘a+‘,encoding=‘utf-8‘)
a_file.write(‘创建一个新的文件了‘)
a_file.seek(0)#文件指针位置,因为a+模式后指针停在末尾,通过seek(0)可以把指针位置调到0位置就是文件的开头。
bf=a_file.read()#如没有上一句代码seek(0),这里将读不到文件

a_file.close()
print(bf)

>>>创建一个新的文件了

注意,a、a+ 在数据追加后,文件指针位置就停留在数据的尾端,如果没有seek(0),直接read()读取的话是读取不到数据的。

close() 在这里出现了,close()表示关闭文件句柄对象(这里a_file就是文件句柄对象),在每次文件操作完毕之后都要使用这个函数来闭。



3、with 上下管理理器

使用方式

with open(‘testw.txt‘,‘a+‘,encoding=‘utf-8‘) as f:#这里就直接通过with打开文件,as 是给打开的文件一个别名,这里别名为 f 相当于变量。
a_file.write(‘创建一个新的文件了‘)
a_file.seek(0)
bf=a_file.read()

print(bf)

>>>创建一个新的文件了

这里使用的with,每次操作完文件后就不需要close()来关闭文件句柄对象,with内部已经做了处理。



B


1、上面的文件操作方式,如果直接使用来读取图片文件时,将会报错,图片如果通文件方式来打看到是一堆的乱码,这是因为里面都是二进制数据

python 读取二进制文件,可以通过以下方式来读写。

ab  rb  wb

rb 以二进制读模式打开
wb 以二进制写模式打开
ab 以二进制追加模式打开
rb+ 以二进制读写模式打开
wb+ 以二进制读写模式打开
ab+ 以二进制读写模式打开

例:ab模式

with open(‘123.png‘,‘rb‘) as f:
    a=f.read()
    print(a)

这里的操作方式以上述操作一样、

时间: 2024-10-12 17:41:19

Python 第十三节 文件操作的相关文章

python字符串处理与文件操作

1.strip函数 strip是trim(裁剪)掉字符串两边的空格或字符.(lstrip/rstrip) 如: 空格 theString = ' abcdbcyesornoabcbacdd ' print theString.strip() abcdbcyesornoabcbacdd 字符 theString = 'abcdbcyesornoabcbacdd' print theString.strip('abcd') #去掉两端的abcd字符 yesorno 问题:如何去掉中间空格. theS

【读书笔记】《鸟哥Linux私房菜-基础知识篇》第三节 文件操作

第三节 文件操作 文件属性 ls –al (文件名第一个字符为.为隐藏文件) 连接数:有多少档名连接到次节点(i-node) 显示完整的时间格式:『ls -l –full-time』 档案类型权限:-rwxrwx- 第一个为档案类型:d-directory目录:- 档案:l-link file链接文件:b-可随机存取装置:c-串行端口设备 r可读,w可写,x可执行 第2-4为档案拥有者权限,5-7为档案所属群组权限,8-10为其他人权限 改变档案所属组群:chgrp users install.

十四、python沉淀之路--文件操作

一.文件操作b模式 1. 1 # f = open('test11.py','rb',encoding='utf-8') # 这种情况会报错 2 f = open('test11.py','rb') # b 模式不能指定编码方式 3 data = f.read() 4 print('直接打印出来:',data) 5 print('解码打印\n',data.decode('utf-8')) 6 f.close() 1 直接打印出来: b'11111\r\n22222\r\n3333\r\n' 2

Python学习基础篇—文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互拥抱 到底是为了什么 因为我刚好遇见你 留下足迹才美丽 风吹花落泪如雨 因为不想分离 因为刚好遇见你 留下十年的期许 如果再相遇 我想我会记得你 我们哭了 我们笑着 我们抬头望天空 星星还亮着几颗 我们唱着 时间的歌 才懂得相互

Python 第三天 文件操作

文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open. open会自己在Python中找. 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读,也

java与python在处理大文件操作上的对比

1.问题描述 现在对一个2g的大文件,抽取第二列含有特点16个串的信息,并将这些含有特串的信息,写回到两个文件中 2.具体实现 (1)java代码 package naifen; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java

python学习笔记-(七)python基础--集合、文件操作&函数

本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: 1 2 3 4 >>> list_1 = [1,4,4,5,6,7,9,10] >>> list_1 =set(list_1) >>> print(list_1) {1, 4, 5, 6, 7, 9, 10} 2)关系测试:测试两组数据之间的关系,交集.并集.

python函数基础 与文件操作

函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: 1 def function_name(arg1,arg2[,...]): 2 statement 3 [return value] 返回值不是必须的,如果没有return语句,则Python默认返回值None. 函数名的命名规则:函数名必须以下划线或字母开头,可以包含任意字母.数字或下划线的组合.不能使用任何的标点符号:函数名是区分大小写的.函数名不能是保留

python 函数初识和文件操作

文件操作  打开文件:文件句柄 = open('文件路径', '模式') 打开文件的模式 w #以写的方式打开 (不可读,不存在则创建,存在则删除内容) a #以追加的模式打开(可读, 不存在则创建,存在则追加内容) r #以只读模式打开 "+" 表示可以同时读写某个文件 r+ #以读写的模式打开 w+ #以读写的模式打开 a+ #以读写的模式打开 "b”表示处理二进制文件 rb #以二进制模式读打开 wb #以二进制写模式打开 ab #以二进制追加模式打开 rb+ #以二进