学 Python 必会的 5 大文件操作,看完就能上手
点赞、收藏、加关注,下次找我不迷路
文件操作就像我们日常整理文档一样基础又重大。无论是处理数据、保存结果,还是读取配置,都离不开对文件的操作。今天,就来给大家分享学 Python 必会的 5 大文件操作,即使是新手,看完这篇文章也能轻松掌握。
一、文件的打开与关闭
文件的打开与关闭是进行文件操作的基础,就像我们打开笔记本写字,写完后要合上一样。
(一)打开文件
在 Python 中,使用open()函数来打开文件,它的基本语法是:file = open(file_path, mode)。其中,file_path是文件的路径,可以是相对路径,也可以是绝对路径;mode是打开文件的模式,不同的模式对应不同的操作。
常见的打开模式如下表所示:
|
模式 |
含义 |
|
'r' |
只读模式,默认模式。如果文件不存在,会报错 |
|
'w' |
写入模式。如果文件不存在,会创建文件;如果文件存在,会覆盖原有内容 |
|
'a' |
追加模式。如果文件不存在,会创建文件;如果文件存在,会在文件末尾追加内容 |
|
'rb' |
以二进制格式只读打开文件 |
|
'wb' |
以二进制格式写入打开文件 |
|
'ab' |
以二进制格式追加打开文件 |
举个例子,如果我们要打开当前目录下的 “test.txt” 文件进行读取,就可以这样写:
file = open("test.txt", "r")
(二)关闭文件
打开文件后,必定要记得关闭文件,否则可能会导致资源泄露。关闭文件使用close()方法,语法是:file.close()。
列如,上面打开的文件关闭方式为:
file.close()
另外,还有一种更安全的方式是使用with语句,它会自动帮我们关闭文件,即使在操作过程中出现错误也不例外。用法如下:
with open("test.txt", "r") as file:
# 在这里进行文件操作
pass
二、文件的读取
读取文件是获取文件内容的重大操作,Python 提供了多种读取文件的方法。
(一)read () 方法
read()方法可以一次性读取文件中的所有内容,返回一个字符串。例如:
with open("test.txt", "r") as file:
content = file.read()
print(content)
如果 “test.txt” 文件中的内容是 “Hello, Python! This is a test file.”,那么运行上述代码会输出该内容。
(二)readline () 方法
readline()方法每次只读取文件中的一行内容,返回一个字符串。如果再次调用该方法,会读取下一行。例如:
with open("test.txt", "r") as file:
line1 = file.readline()
line2 = file.readline()
print(line1)
print(line2)
假设 “test.txt” 文件有两行内容:“第一行内容” 和 “第二行内容”,运行后会分别输出这两行内容。
(三)readlines () 方法
readlines()方法会读取文件中的所有内容,将每一行作为一个元素存储在列表中返回。例如:
with open("test.txt", "r") as file:
lines = file.readlines()
print(lines)
如果 “test.txt” 文件有三行内容,那么输出的会是一个包含这三行内容的列表,如['第一行
', '第二行
', '第三行']。
三、文件的写入
当我们需要将数据保存到文件中时,就需要用到文件的写入操作。
(一)write () 方法
write()方法可以向文件中写入字符串内容。需要注意的是,使用'w'模式打开文件时,会覆盖文件中原有的内容;如果文件不存在,会创建一个新文件。例如:
with open("output.txt", "w") as file:
file.write("这是写入的内容
")
file.write("这是第二行写入的内容
")
运行上述代码后,会创建一个 “output.txt” 文件,里面包含写入的两行内容。
(二)writelines () 方法
writelines()方法可以向文件中写入一个字符串列表。例如:
lines = ["第一行内容
", "第二行内容
", "第三行内容
"]
with open("output.txt", "w") as file:
file.writelines(lines)
运行后,“output.txt” 文件中会有这三行内容。
四、文件的追加
有时候我们不想覆盖文件原有的内容,只是想在文件末尾添加新的内容,这时候就需要用到追加模式。
使用'a'模式打开文件,然后使用write()或writelines()方法就可以实现追加操作。例如:
with open("output.txt", "a") as file:
file.write("这是追加的内容
")
如果 “output.txt” 文件原本有内容,运行后会在原有内容后面加上 “这是追加的内容”。
五、文件和目录的管理
除了对文件本身进行读写操作外,我们还常常需要对文件和目录进行管理,列如创建目录、删除文件、查看目录下的文件等,这就需要用到os模块。
(一)导入 os 模块
使用os模块前,需要先导入它:import os
(二)创建目录
使用os.mkdir()方法可以创建一个目录。例如:
import os
os.mkdir("new_dir")
运行后,会在当前目录下创建一个名为 “new_dir” 的目录。
(三)删除目录
os.rmdir()方法可以删除一个空目录。例如:
import os
os.rmdir("new_dir")
如果目录不为空,使用该方法会报错。
(四)查看目录下的文件
os.listdir()方法可以返回指定目录下的所有文件和目录的列表。例如:
import os
files = os.listdir(".") # "."表明当前目录
print(files)
运行后会输出当前目录下的所有文件和目录名称。
(五)删除文件
os.remove()方法可以删除一个文件。例如:
import os
os.remove("test.txt")
运行后,“test.txt” 文件会被删除。
(六)重命名文件或目录
os.rename()方法可以对文件或目录进行重命名。例如:
import os
os.rename("old_name.txt", "new_name.txt") # 重命名文件
os.rename("old_dir", "new_dir") # 重命名目录
掌握了这 5 大文件操作,在 Python 中处理文件相关的任务就会变得得心应手。大家可以多动手练习,通过实际操作来加深对这些知识的理解和掌握。
详细!谢谢科普
收藏了,感谢分享