python修改文件内容
需求:
ubuntu下新增了很多内核,想要用一个python文件来实现内核顺序切换,每次执行,就更改grub参数,使得重启之后就默认从一个新的内核启动
方法一:文件整体重构(以修改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') #重启
方法二:待更新...
桃李春风一壶酒,江湖夜雨十年灯