目录
在文章末尾续写内容在文章内某一行插入内容在文章末尾续写内容
使用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() #调用定义的函数,注意名称与定义的函数名一致