Python 对文章内容的修改之插入内容

在文章末尾续写内容

使用open函数的a模式,打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
详见 Python open() 函数

比如,我们每个文件夹下都有一个需要追加内容的文件,我们要在每个文件后末尾另起一行,加上一句话:“(全文完)”

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
运行成功后输出提示:
在这里插入图片描述可以看到文章末尾已经被插入(全文完)
在这里插入图片描述注意:如果文章前后有空格换行符等,影响插入效果,可以先用strip()函数清除首尾空白符 Python去除文章首尾空格换行符

代码如下:

import os                                         #导入模块
def add_content():                                           #定义函数名称
    for foldName, subfolders, filenames in os.walk(path):     #用os.walk方法取得path路径下的文件夹路径,子文件夹名,所有文件名
           for filename in filenames:                         #遍历列表下的所有文件名
                if filename.endswith('.txt'):                #当文件名以.txt后缀结尾时
                    f = open(os.path.join(foldName,filename),"a")    #以追加模式打开文件
                    f.write("\n(全文完)")                           #在文章结尾处添加一个换行符 以及 (全文完)
                    f.close()                                        #关闭文件
                    print( os.path.join(foldName,filename),'added content successfully!')   #输出提示

if __name__ == '__main__': 
        path = r'E:\我的学习\编程\Python\PythonTest2\Test2'   #运行程序前,记得修改主文件夹路径!
        add_content()        #调用定义的函数,注意名称与定义的函数名一致

在文章内某一行插入内容

比如,我们想在(全文完)前加入两行内容:
真是个
好故事!
在这里插入图片描述运行成功后会有提示:
在这里插入图片描述可以看到已经插入成功
在这里插入图片描述或者想要插入多行内容,不用换行符的话,可以用三引号代替,详见 Python中的三引号的用法

代码如下:

import os                                         #导入模块
def add_rows():                                           #定义函数名称
    for foldName, subfolders, filenames in os.walk(path):     #用os.walk方法取得path路径下的文件夹路径,子文件夹名,所有文件名
           for filename in filenames:                         #遍历列表下的所有文件名
                if filename.endswith('.txt'):                #当文件名以.txt后缀结尾时
                    f = open(os.path.join(foldName,filename),"r")    #以只读模式打开文件
                    data_list=f.readlines()                          #读取所有行内容,作为列表存储
                    count=len(data_list)                             #计算列表元素数量,也就是行数
                    data_list.insert(count-1, '\n真是个\n好故事!')     #在存储内容的倒数第一行前插入两行
                    f.close                                            #关闭只读模式的文件
                    f = open(os.path.join(foldName,filename), 'w')     #将文件以写模式打开,注意这种模式打开会清空文件内容,因此需要先以制度模式打开,并存储文件内容
                    f.writelines(data_list)                            #将所有行写入
                    f.flush()                                          #把缓冲区中的内容放到磁盘中                    
                    f.close                                            #关闭文件
                    print( os.path.join(foldName,filename),'added content successfully!')   #输出提示

if __name__ == '__main__': 
        path = r'E:\我的学习\编程\Python\PythonTest2\Test2'   #运行程序前,记得修改主文件夹路径!
        add_rows()        #调用定义的函数,注意名称与定义的函数名一致
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值