python修改ini保留注释_python 使用ConfigParser修改文件时保留注释行以及制表符的办法...

def Repla_list_Notes(File,Old_list,New_list): #定义修改 # 号的函数,这么做的目的是为了使在使用ConfigParser的set时不把注释行去掉

fopen=open(File,'r')

w_str=""

for line in fopen:

if re.search(Old_list,line):

line=re.sub(Old_list,str(random.random())+New_list,line)  #str(random.random()):随机的0-1的小数并转换为字符串

w_str+=line

else:

w_str+=line

wopen=open(File,'w')

wopen.write(w_str)

fopen.close()

wopen.close()

return

def Repla_list_Notes1(File,Old_list,New_list):  #定义将 # 号修改回来的函数

fopen=open(File,'r')

w_str=""

for line in fopen:

if re.search(Old_list,line):

line=re.sub(Old_list,New_list,line)

w_str+=line

else:

w_str+=line

wopen=open(File,'w')

wopen.write(w_str)

fopen.close()

wopen.close()

return

#######################################################################

with open(smbfile, 'r+') as file_insert_1:

content = file_insert_1.read()

file_insert_1.seek(0, 0)

file_insert_1.write('[aba1注释1aba]\n'+content) #这一段就是在文件的第一行插入 [aba1注释1aba]

Repla_list_Notes(smbfile,'^#',"aba1注释1aba = ") #将文件中 # 号 修改为 随机数aba1注释1aba = ,这么做的目的是为了使在使用ConfigParser的set时不把注释行去掉

############################

cfgParser1 = ConfigParser()

cfgParser1.read(smbfile)  #读取配置文件,直接读取ini文件内容

PathJur_r = (cfgParser1.get(MountDir_name, "valid users")) #获取变量 MountDir_name 中"valid users" 的值,返回为string类型

List_PathJur_r=PathJur_r.strip(',').split(',') #将PathJur_r 以 , 为分隔转换为列表

if Share_User not in List_PathJur_r:

cfgParser1.set(MountDir_name,'valid users',PathJur_r+','+Share_User)  #修改 valid users 的值为 PathJur+','+ddd

cfgParser1.write(open(smbfile,"w"))  #将修改写入 smbfile 中

print ('已增加',Share_User,'用户对共享',MountDir_name,'的读权限')

######################################

for line in fileinput.input(smbfile, inplace=1):

if not fileinput.isfirstline():

print(line.replace('\n',''))   #这一段的意思是删除上面添加的第一行

Repla_list_Notes1(smbfile,'^.*aba1注释1aba = ','#')  #将上面修改的注释符号修改回来

#:制表符也可以使用 修改注释行同样的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值