一、文件基础知识
在开始Python文件读写操作之前,我们先来了解一下文件的基本知识。
1.1 什么是文件
从本质上讲,文件是存储在某种长期储存设备上的一段数据序列。这些数据以特定格式组织,可以是像文本文件一样简单的数据,也可以像程序可执行文件一样复杂。数据表示的内容取决于所使用的格式规范,通常由扩展名表示。
1.2 文件形态
文本文件
:由单一特定编码组成的文件,如 UTF-8 编码。由于存在编码,也被看成是存储着的长字符串。
二进制文件
:由比特 0 和 1 组成。比如 .png文件、.avi文件。
1.3 文件组成要素
多数文件系统上的文件都包含以下要素:
文件名
文件扩展名
文件大小
文件路径
文件属性(如读写权限)
二、Python文件操作
Python的文件操作主要依靠内置的
open
函数来完成。
2.1 打开文件
使用
open
函数打开文件,需要指定文件路径和打开模式。
# 打开文件示例
with open(‘example.txt’, ‘r’) as file:
content = file.read()
print(content)
2.2 文件打开模式
‘r’
:只读模式(默认)。文件必须存在。
‘w’
:只写模式。如果文件已存在则会被覆盖;如果文件不存在,则会创建新文件。
‘a’
:追加模式。数据会被写入文件末尾,如果文件不存在同样会创建新文件。
‘b’
:二进制模式(可与其他模式组合使用)。
‘x’
:独占写入模式。如果文件已经存在则引发异常。
2.3 读取文件
读取文件可以使用
read()
、
readline()
和
readlines()
方法。
read()
:读取整个文件内容。
readline()
:读取文件的一行。
readlines()
:读取文件的所有行,返回一个列表。
2.4 写入文件
写入文件可以使用
write()
和
writelines()
方法。
write()
:写入字符串。
writelines()
:写入字符串列表。
2.5 追加文件
使用追加模式(
‘a’
)打开文件,可以追加内容到文件末尾。
with open(‘example.txt’, ‘a’) as file:
file.write(‘This is a new line.\n’)
三、文件路径
在处理文件时,正确使用文件路径非常重要。Python提供了
os.path
模块来处理文件路径。
3.1 获取文件路径
import os
# 获取当前文件的路径
current_file_path = os.path.abspath(__file__)
print(current_file_path)
3.2 文件路径操作
os.path.dirname(path)
:获取路径的目录部分。
os.path.basename(path)
:获取路径的文件名部分。
os.path.join(path1, path2, …)
:连接路径。
四、编码
在处理文本文件时,编码是一个非常重要的概念。Python支持多种编码方式,如ASCII、EASCII、汉字编码、Unicode和UTF-8等。
4.1 常用编码
ASCII
:基于英文字符集的编码方式。
EASCII(ISO/8859-1)
:扩展ASCII编码,支持多种欧洲语言字符。
汉字编码
:用于存储中文字符的编码方式。
Unicode
:国际标准编码,支持几乎所有语言的字符。
UTF-8
:Unicode的变体,使用可变长度的编码方式。
4.2 编码转换
Python提供了
encode()
和
decode()
方法来转换编码。
# 编码转换示例
text = ‘这是一个测试文本。’
utf8_text = text.encode(‘utf-8’)
print(utf8_text)
# 解码示例
decoded_text = utf8_text.decode(‘utf-8’)
print(decoded_text)
五、总结
通过本文的学习,相信你已经掌握了Python文件读写的基本操作,包括文件打开、读取、写入、关闭以及路径处理和编码转换等。这些技能对于进行数据存储和处理至关重要。在实际应用中,灵活运用这些技巧,可以让你在处理数据时更加高效和方便。