上海知名网站建设公司,合肥建设云平台证书查询,像京东一样的网站,二维码在线制作免费#x1f4dd;前言#xff1a; 这篇文章主要讲解一下python中对于文件的基础操作#xff1a; 1#xff0c;文件编码 2#xff0c;文件的打开与关闭操作 3#xff0c;文件读写操作 #x1f3ac;个人简介#xff1a;努力学习ing #x1f4cb;个人专栏#xff1a;C语言入…前言 这篇文章主要讲解一下python中对于文件的基础操作 1文件编码 2文件的打开与关闭操作 3文件读写操作 个人简介努力学习ing 个人专栏C语言入门基础以及python入门基础 CSDN主页 愚润求学 每日鸡汤无问东西 文章目录 一文件编码二文件的打开与关闭1open()函数2打开模式3路径的书写4文件的关闭 三文件的读写操作1文件的读取1read()2readline()3readlines()4for循环读取 2文件的写入1write(content)2writelines(lines)3文件的追加 一文件编码
在学习文件操纵前我们先来了解一下文件编码 什么是文件编码
文件编码是指在计算机中存储和表示字符串的方法。它涉及字符集中的字符如何转换为二进制数以及在读取或写入文件时如何将二进制数转换回字符集。 在 Python 中当你使用 open() 函数打开文件时可以指定文件的编码方式。常见的编码方式有 ●‘utf-8’这是 Python 的默认编码可以表示地球上几乎所有的字符。 ●‘gbk’这是用于简体中文的编码方式。 ●‘latin-1’也称为 ISO-8859-1可以表示大多数西方语言的字符。 … 等等。 注意没有特殊情况我们一般使用UTF-8的格式打开文件使用不正确的编码可能会导致乱码或无法打开文件的问题。
二文件的打开与关闭
1open()函数
我们在对文件进行读写操作前需要先试用open()函数打开文件 函数原型
open(file, moder, buffering-1, encodingNone, errorsNone, newlineNone, closefdTrue, openerNone)file: 这是一个必须的参数表示要打开的文件名或文件模式。如果 file 是一个字符串那么它表示的是要打开的文件名如果 file 是一个整数那么它表示的是文件模式。例如0 表示以读模式打开1 表示以写模式打开2 表示以读写模式打开。 mode: 这是一个可选的参数表示文件模式。默认值为 ‘r’表示读模式。其他常见的模式还有 ‘w’写模式和 ‘a’追加模式。 buffering: 这是一个可选的参数表示缓冲策略。默认值为 -1表示使用系统默认的缓冲策略。如果设置为 0则表示无缓冲如果设置为 1则表示有缓冲。 encoding: 这是一个可选的参数表示文件的编码方式。例如‘utf-8’、‘gbk’ 等。 errors: 这是一个可选的参数表示在编码或解码时处理错误的方式。例如‘strict’、‘ignore’、‘replace’ 等。 newline: 这是一个可选的参数表示在文件中使用的换行符。例如‘\n’、‘\r\n’ 等。 closefd: 这是一个可选的参数表示是否在打开文件时关闭文件描述符。默认值为 True。 opener: 这是一个可选的参数表示用于打开文件的函数。默认值为 None表示使用内建的 open() 函数。 这个有点复杂了但其实我们常用到的参数就file、mode以及encoding分别是指文件的路径文件的打开方式以及文件的编码方式一般情况下使用UTF-8
示例一 以只读的形式打开一个文件返回的是一个文件对象
f open(file.txt,r,encodingUTF-8) #注意encoding要关键字传参我们还可以用使用 with 语句打开文件可以确保文件在操作完成后自动关闭避免资源泄露。 示例二
# 以读模式打开文件
with open(file.txt, r) as f:content f.read()# 以写模式打开文件
with open(file.txt, w) as f:f.write(Hello, world!)这个时候文件对象就是as后面的f
2打开模式
在刚刚的例子中我们提到了’‘r’和’w’读和写两种打开模式下面我们将看看其他的模式并具体介绍一下这些模式 注意 打开的文件不存在python中的“w”功能就会创建新文件 打开的文件存在w写入会覆盖原有内容即把原有内容清空了再写入
3路径的书写
斜杠/或双反斜杠\都可以用来表示路径分隔符。例如C:\Users\username\Documents 为了确保代码的跨平台兼容性建议使用斜杠/作为路径分隔符这样可以同时在Windows、Linux和macOS上运行而无需修改。
4文件的关闭
文件的关闭使用close()示例
f.close()三文件的读写操作
1文件的读取
1read()
用于读取文件的所有内容读取的内容以字符串的形式储存并返回 语法
read(num)num代表从文件中读取的字符串的长度单位是字节如果没有传入参数则代表读取全部内容 例如
with open(file.txt, r) as file:content file.read()注意 如果有多个read读取后面的read会从前一个read读取到的末尾开始读
2readline()
用于读取文件中的一行例如
with open(file.txt, r) as file:line file.readline()3readlines()
读取文件中的所有行回车符也会被读取然后每一行为一个元素以列表的形式储存 例如
with open(file.txt, r) as file:lines file.readlines()4for循环读取
我们还可以用for循环来读取文件的每一行得到的每一行都是字符串 例如
with open(file.txt, r) as file:for line in file:......总结
2文件的写入
1write(content)
这个方法用于将内容写入文件。例如
with open(file.txt, w) as file:file.write(Hello, World!)2writelines(lines)
这个方法用于将多行内容写入文件。例如
with open(file.txt, w) as file:file.writelines([Hello, \n, World!])注意我们调用上面两种方法写入的时候内容并不会直接被写入文件里面内容会被积攒在程序的内存中即缓存区 只有当我们调用flush()方法刷新内容的时候内容才会出现在文件里 示例
f open(D:/test.txt, w, encodingUTF-8)
# write写入(原内容会被覆盖)
f.write(Hello World!)
# flush刷新
f.flush()注意close()方法自带flush()功能
3文件的追加
a模式写入内容的时候是在原来内容的后面追加 追加写入的函数和w一样只是打开模式不同 示例
f open(D:/test.txt, a, encodingUTF-8)
# write写入原内容不会被覆盖
f.write(Hello World!)
# flush刷新
f.flush()我的分享也就到此结束啦 要是我的分享也能对你的学习起到帮助那简直是太酷啦 若有不足还请大家多多指正我们一起学习交流 公主王子点赞→收藏⭐→关注 感谢大家的观看和支持祝大家都能得偿所愿天天开心