python----文件IO操作

1、文件IO
IO: Input:输入 Output:输出
Input输入:从文件中读取数据,输入到程序中处理
Output输出:将程序中的数据,输入到文件中
文件IO:程序控制系统文件内容的操作

计算机中的文件:
二进制文件:在计算机中,使用文本编辑软件(如记事本)打开出现乱码的文件
文本文件:在计算机中,能正常使用文本编辑软件打开,不出现乱码的文件

2、普通文件操作方式
1、文本文件处理
2、二进制文件处理
对于计算机系统中文件内容的操作,python提供了一个基本处理函数:open
open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Open file and return a stream. Raise OSError upon failure.

file要操作的文件的名称,文件可以是一个给定名称的字符文件(文本文件)或者字节文件(二进制文件)。
mode操作文件的方式
buffering缓存(针对二进制文件处理)
encoding读取文件用什么编码方式操作,默认utf-8errors出现的错误
newline每行处理完后添加换行或回车(针对文本文件处理)

mode: 模式~操作文件的方式

r/read 只读
w/writ 只写 如果多次执行程序,新数据会覆盖旧数据
a/append 追加 如果多次运行程序,新数据会追加到旧数据后面
t/text 操作文本文件
b/binrary 操作二进制数据

  •  读写方式,可以写入数据,可以读取数据
    

(1)、文本文件操作:将程序中的数据,写入到文件中
file = open(’./data/1.1.text’,‘wt’,encoding=‘UTF-8’)

#程序中有一个字符串
message = ‘hello 朱正廷’

#将数据写入到文件中
file.write(message)

#关闭文件
file.close()
文件夹中自动生成1.1.text,并将程序中的数据写入文件中
(2)、文本文件操作:从文件中读取数据,展示到程序中
file = open(file=’./data/1.1.text’,mode = ‘r’,encoding=‘utf-8’)

#从文件中读取数据,展示到控制台中
info = file.read()
print(info)

扫描二维码关注公众号,回复: 5087340 查看本文章

#关闭文件
file.close()
从文件中读取数据,展示到程序中
(3)、文本文件的追加
file = open(file=’./data/1.2.text’,mode=‘a’,encoding=‘utf-8’)
#要操作的文本数据
message = ‘人间三月草未莘\n’
file.write(message)

message2 = ‘间关探嗓几回闻\r’
file.write(message2)

message3 = ‘仙榐一叶偏入凡,子衔绛珠伴露生’
file.write(message3)
#关闭文件
file.close()message、message2、message3依次写,每写一个运行一次
(4)、二进制文件操作:读取二进制数据——将数据写入到目标地

#D:\朱正廷壁纸\朱正廷.gif
#读取计算机中的二进制文件数据
file = open(file=‘D:/朱正廷壁纸/朱正廷.gif’,mode=‘rb’)

#将数据重新存储到我们指定的位置
file2 = open(file=’./data/zzt.gif’,mode=‘wb’)
file2.write(file.read())

#关闭文件2
file2.close()
#关闭文件
file.close()

(5)文件的快捷操作:with语法

with open(‘D:/朱正廷壁纸/朱正廷.gif’,‘rb’) as file1:
# 打开文件,将文件对象赋值给变量file1,with中的代码执行完成,文件file1自动关闭
with open(’./data/’+file1.name[file1.name.rfind(’/’):],‘wb’) as file2:
# 将读取的文件存储到指定的文件夹中
file2.write(file1.read())
在这里插入图片描述
+file1.name[file1.name.rfind(’/’) 可以获取file1文件的名字

猜你喜欢

转载自blog.csdn.net/qq_40908334/article/details/86660176
今日推荐