文件读取(Python语言实现)
1. 读取整个文件 read()
fn = 'test.txt'
file_obj = open(fn, encoding='UTF-8')
data = file_obj.read()
file_obj.close() # 不关闭会对文件造成不必要的损害
print(data)
2. with 关键词
fn = 'test.txt'
with open(fn, encoding='utf-8') as file_obj:
data = file_obj.read()
print(data.rstrip()) # 输出时删除末端字符
3. 逐行读取文件
# 逐行读取文件内容
fn = 'test.txt'
with open(fn, encoding='utf-8') as file_obj:
for line in file_obj: # 逐行读取文件到变量line
print(line) # 有空行
# 逐行读取文件内容
fn = 'test.txt'
with open(fn, encoding='utf-8') as file_obj:
for line in file_obj: # 逐行读取文件到变量line
print(line.rstrip()) # 没有空行
4. 逐行读取使用 readlines()
使用with关键词配合open时,所打开的文件对象当前只在with区块内使用,使用readlines() 进行逐行读取,同时以列表的形式存储,换行字符也会被存储进去。
fn = 'test.txt'
with open(fn, encoding='utf-8') as file_obj:
obj_list = file_obj.readlines() # 每次读一行
print(obj_list)
逐行输出列表内容:
fn = 'test.txt'
with open(fn,encoding='utf-8') as file_obj:
obj_list = file_obj.readlines() # 每次读取一行
for line in obj_list:
print(line.rstrip()) # 打印列表
5. 数据组合
# 文档在一行显示
fn = 'test.txt'
with open(fn, encoding='utf-8') as file_obj:
obj_list = file_obj.readlines()
str_obj = '' # 先设为空字符
for line in obj_list:
str_obj += line.rstrip()
print(str_obj)
6. 字符串的替换
使用Word时有查找和替换功能,Python也有这个方法使新的字符串取代旧字符串。
fn = 'test.txt'
with open(fn, encoding='utf-8') as file_obj:
data = file_obj.read()
new_data = data.replace('的', 'blueheart')
print(new_data.rstrip())
7. 数据的搜索
Word有搜索和功能,使用Python使这类工作变得简单。
# 数据的搜索
fn = 'test.txt'
with open(fn,encoding='utf-8') as file_obj:
obj_list = file_obj.readlines()
str_obj = '' # 先设为空字符
for line in obj_list:
str_obj += line.rstrip()
findstr = input("请输入要搜索的字符串:")
if findstr in str_obj:
print("搜索 %s 字符串在 %s 文件中" % (findstr, fn))
else:
print("搜索 %s 字符串不在 %s 文件中" % (findstr, fn))
8. 使用 find() 进行数据搜索
就多了一句话:index = str_obj.find(findstr) # 第11行
# 使用find(), 可以得到查询字符 索引位置
fn = 'test.txt'
with open(fn,encoding='utf-8') as file_obj:
obj_list = file_obj.readlines()
str_obj = '' # 先设为空字符
for line in obj_list:
str_obj += line.rstrip()
findstr = input("请输入要搜索的字符串:")
index = str_obj.find(findstr) # 就多了一个索引
if findstr in str_obj:
print("搜索 %s 字符串在 %s 文件中" % (findstr, fn))
print("在索引 %s 位置出现 " % index)
else:
print("搜索 %s 字符串不在 %s 文件中" % (findstr, fn))
来源:CSDN
作者:极客小生
链接:https://blog.csdn.net/shengshengshiwo/article/details/104138555