python学习笔记21(使用文件内容、replace函数)

该博客介绍了如何在Python中读取、查找并替换文本文件内容。通过示例展示了使用readline()函数逐行读取文件,查找特定词汇'今天'并计数,以及如何用replace()函数替换指定内容。此外,还演示了逐行读取文件到列表和一次性读取整个文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.使用文件内容

'''
在F盘的Python文件夹里面建立了一个名为python的文本文件,里面存储了今天早上的心情日记,现在我想要看看存储的文本里面’今天‘出现的次数
注意,读取出的文本文件内容默认为是字符串类型,必要情况下注意类型转换
'''
# 设置变量记录’今天‘出现的次数
n = 0
file_path = 'F:\\Python\\python.txt'
# 先看一下文件里面的内容
with open(file_path, encoding='utf-8')as file_object:
    print(file_object.read().rstrip())
# 指定每次读取的字符字数为2来逐次读取数据内容并实现判断
with open(file_path, encoding='utf-8')as file_object:
    contents = file_object.readline(2)
    while contents:
        if contents == '今天':
            n += 1
        contents = file_object.readline(2)
    print(file_object.read().rstrip())
    print(n)
今天是2021322日
周一
今天早上吃的白菜猪肉馅的包子
还有鸡蛋
吃的很饱
说是气温18度
但是怎么这么冷

2

2.总结:

'''
在F盘的Python文件夹里面建立了一个名为python的文本文件,里面存储了截止今天我的心情随笔
注意,读取出的文本文件内容默认为是字符串类型,必要情况下注意类型转换
'''

file_contents = []
file_path = 'F:\\Python\\python.txt'
# 一次性读取出文件里的内容
print('一次性读取效果:')
with open(file_path, encoding='utf-8')as file_object:
    print(file_object.read().rstrip())
    print('\n')


# 逐行读取出文件的内容
print('逐行读取效果:')
with open(file_path, encoding='utf-8')as file_object:
    contents = file_object.readline()
    while contents:
        print(contents.rstrip())
        contents = file_object.readline()
    print('\n')


# 借助列表读取出文本中的内容,并在with外使用
with open(file_path, encoding='utf-8')as file_object:
    contents = file_object.readline()
    while contents:
        file_contents.append(contents.rstrip())
        contents = file_object.readline()
print(file_contents)

3.利用replace()函数替换文件内容

file_contents = []
file_path = 'F:\\Python\\python.txt'
pre_contents = input('请输入被替换内容:')
modified_contents = input('请输入替换内容:')

# 逐行读取出文件的内容
print('逐行读取效果:')
with open(file_path, encoding='utf-8')as file_object:
    content = file_object.readline()
    while content:
        file_contents.append(content.rstrip())
        content = file_object.readline()
print(file_contents)

# 判断列表内每一个元素是否包含自己所要寻找的目标元素,如果包含则利用replace()函数进行替换

length = len(file_contents)
# 初始化索引值
n = 0
for content1 in file_contents[:]:
    if pre_contents in content1 and n < length:
        # 这里倘若不重新为 file_contents[n]赋值,里面保存的还是之前的数值,同理如果不直接指明 content1 = content1.replace(pre_contents,content1里面包含的也只是之前的内容
        file_contents[n] = content1.replace(pre_contents, modified_contents)
    else:
        file_contents[n] = content1
    n += 1
print(file_contents)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值