程序怎么实现配置文件修改切换

程序怎么实现配置文件修改切换,第1张

        在服务器切换过程中,可以需要不同的配置文件,笔者就在想怎么来完成配置文件的修改达到不同的场景需求呢?第一视角可能就是直接把配置文件修改成需要的值,然后再重新拉进程完成服务切换。

    本文笔者再linux中列举两种方法,windows列举一种方法,敬请参考至于在windows下直接修改配置文件的内容,笔者在命令行没有找到方法,但是笔者想可以使用python来完成。但是相对于直接修改配置文件,不如copy(windows)或cp(linux)优雅、安全、

    以下的方法,可以结合脚本来进一步优化实现。配置文件修改完成后,把重拉进程写入脚本中,来完成自动化的 *** 作。

1、sed命令修改配置文件中的字段值

        sed 全名为 stream editor,流编辑器,用程序的方式来编辑文本,功能相当的强大。

        语法:sed -i 's/Search_String/Replacement_String/' Input_File

        根据配置文件的字段,将需要修改的值直接使用sed -i 来直接对文本文件进行 *** 作,这个 *** 作有点危险。下面是将配置文件中的3306替换为3307,完成配置文件的修改。

        这样 *** 作会直接修改原始文件,稍有不慎,那么风险是很大的。有没有可能将原始文件备份一下再修改呢?sed -i添加一个后缀(比如,-i.bak)就会生成一个原始文件的备份.bak文件。

    这个后缀是可以自定义的,不局限于.bak,可以以日期来命名方便区分记忆。

    那么还有一个问题,万一配置文件里面有相同的字段值,但是需求只是修改一处而已呢?默认情况下,sed 命令替换每一行第一次出现的模式,它不会替换行中的其他的匹配结果,在行中使用/1、/2……/n 等标志来代替相应的匹配。如果只需要替换某一处,那么可以将更多的字符串作为被替换的字符串。例如下面例子。

2、linux中cp复制需要的配置文件到目标配置文件            

    根据需求,修改配置文件来切换最直接,但是修改原始配置文件可能存在风险。于是可以换个思路,将需要的配置写入到不同的文件中,形成多配置文件,在不同场景进行切换不同的文件即可。

     根据不同的应用场景需要切换配置文件,目标配置文件是my.cnf,在cp时会覆盖以前的配置文件。原始配置信息仍然存在,只是以另外的文件名包保存。

3、windows中copy复制需要的配置文件到目标配置文件   

    和 linux中cp复制一样,只是命令时copy而已。

可以使用 Python 中的字典(dictionary)来实现一个简单的增删改查程序。具体实现步骤如下:

创建一个空字典用于存储数据

通过循环菜单的方式,让用户可以选择添加、修改、删除、显示、退出等功能。

根据用户的选择执行相应的 *** 作,例如添加数据就让用户输入键值对,修改数据就让用户选择要修改的键和新值,删除数据就让用户选择要删除的键,显示数据就输出整个字典,退出就结束程序。

下面是一个简单的代码示例:

data = {}  # 创建空字典用于存储数据

while True:

print('请选择 *** 作:')

print('1. 添加数据')

print('2. 修改数据')

print('3. 删除数据')

print('4. 显示数据')

print('5. 退出程序')

choice = input('请输入选项:')

if choice == '1':

key = input('请输入键:')

value = input('请输入值:')

data[key] = value

print('添加成功!')

elif choice == '2':

key = input('请输入要修改的键:')

if key in data:

value = input('请输入新值:')

data[key] = value

print('修改成功!')

else:

print('该键不存在!')

elif choice == '3':

key = input('请输入要删除的键:')

if key in data:

del data[key]

print('删除成功!')

else:

print('该键不存在!')

elif choice == '4':

print(data)

elif choice == '5':

print('谢谢使用,再见!')

break

else:

print('输入错误,请重新选择。')

这个程序简单易懂,可以根据自己的需要进行修改和扩展。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8119551.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存