python修改文件内容

Posted 第三人设

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python修改文件内容相关的知识,希望对你有一定的参考价值。

需求:

ubuntu下新增了很多内核,想要用一个python文件来实现内核顺序切换,每次执行,就更改grub参数,使得重启之后就默认从一个新的内核启动

方法一:文件整体重构

1、内核启动顺序由 /etc/default/grub 文件中的 GRUB_DEFAULT=x 项控制,x是从0开始,用一个count文件来计数,每次执行python就加一
2、代码实现:

import os
import re

old_str= "GRUB_DEFAULT=" # 定义需要替换的字符串 
new_data="" # 定义用于替换文件的变量
with open("/root/count",\'r\') as f1: # 读模式打开count文件
    count = int(float(f1.read()))+1 # 取出count里的数据并+1
with open("/root/count",\'w\') as f1: # 写模式打开count
    f1.write(str(count)) # 将新数据写回

with open(\'/etc/default/grub\',\'r\') as f2 : # 读模式打开grub
    for line in f2.readlines() : # 逐行遍历
        if re.match(old_str,line) : # 正则匹配判断找到需要替换的那行
            new_line=old_str + str(count)  + "\\n" # 重新构造改行字符串
            line=line.replace(line,new_line)
        new_data += line  # 把每行的数据逐一放到data
        
with open(\'/etc/default/grub\',\'w\') as f2 : 
    f2.write(new_data) #将data覆盖写入grub
    
os.system(\'sudo update-grub\') # 更新启动表
os.system(\'reboot\') #重启

方法二:待更新...

以上是关于python修改文件内容的主要内容,如果未能解决你的问题,请参考以下文章

VSCode 配置快速输入函数注释

VSCode 配置快速输入Python的Main函数方法

VSCode 创建.py自动添加文件头注释的设置

VSCode 配置快速输入Python的Main函数方法

python 一个终端代码片段,在mac上生成可启动的usb live CD,以运行类似ubuntu或debian的内容。

python 文件内容修改替换操作