0
点赞
收藏
分享

微信扫一扫

PostCSS安装与基本使用

📝前言:
这篇文章主要讲解一下python中对于文件的基础操作:
1,文件编码
2,文件的打开与关闭操作
3,文件读写操作


文章目录

一,文件编码

在学习文件操纵前,我们先来了解一下文件编码
什么是文件编码?

文件编码是指在计算机中存储和表示字符串的方法。它涉及字符集中的字符如何转换为二进制数,以及在读取或写入文件时如何将二进制数转换回字符集。
在 Python 中,当你使用 open() 函数打开文件时,可以指定文件的编码方式。常见的编码方式有:

注意:没有特殊情况,我们一般使用UTF-8的格式打开文件,使用不正确的编码可能会导致乱码或无法打开文件的问题。

二,文件的打开与关闭

1,open()函数

我们在对文件进行读写操作前,需要先试用open()函数打开文件
函数原型:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

这个有点复杂了,但其实我们常用到的参数就'file'mode以及encoding,分别是指文件的路径文件的打开方式以及文件的编码方式(一般情况下使用UTF-8

示例一:
(以只读的形式打开一个文件,返回的是一个文件对象):

f = open('file.txt','r',encoding='UTF-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,文件的读取

(1)read()

用于读取文件的所有内容,读取的内容以字符串的形式储存并返回
语法:

read(num)

num代表从文件中读取的字符串的长度,单位是字节,如果没有传入参数,则代表读取全部内容
例如:

with open("file.txt", "r") as file:
    content = file.read()

(注意: 如果有多个read读取,后面的read会从前一个read读取到的末尾开始读)

(2)readline()

用于读取文件中的一行,例如:

with open("file.txt", "r") as file:
    line = file.readline()

(3)readlines()

读取文件中的所有行(回车符也会被读取),然后每一行为一个元素,以列表的形式储存
例如:

with open("file.txt", "r") as file:
    lines = file.readlines()

(4)for循环读取

我们还可以用for循环来读取文件的每一行,得到的每一行都是字符串
例如:

with open("file.txt", "r") as file:
	for line in file:
	......

总结:
在这里插入图片描述

2,文件的写入

(1)write(content)

这个方法用于将内容写入文件。例如:

with open("file.txt", "w") as file:
    file.write("Hello, World!")

(2)writelines(lines)

这个方法用于将多行内容写入文件。例如:

with open("file.txt", "w") as file:
    file.writelines(["Hello", "\n", "World!"])

注意:我们调用上面两种方法写入的时候,内容并不会直接被写入文件里面,内容会被积攒在程序的内存中,即:缓存区
只有当我们调用flush()方法刷新内容的时候,内容才会出现在文件里
示例:

f = open("D:/test.txt", "w", encoding="UTF-8")
# write写入(原内容会被覆盖)
f.write("Hello World!")
# flush刷新
f.flush()

注意:close()方法自带flush()功能

(3)文件的追加

"a"模式:写入内容的时候,是在原来内容的后面追加
追加写入的函数和"w"一样,只是打开模式不同
示例:

f = open("D:/test.txt", "a", encoding="UTF-8")
# write写入(原内容不会被覆盖)
f.write("Hello World!")
# flush刷新
f.flush()

举报

相关推荐

0 条评论