前言:
总体上来说shell能够实现的功能python也能实现,反之亦然,但遗憾的是,很多的项目处于内网的环境,连基本的vim都没有,更不用提安装python编译环境与安装第三方库,和集成好的IDE,当然,如果你能够忍受调试环境的麻烦的话,python也是不错的选择,虽然有这些因素带来的不便,但python脚本自然有它较shell更优秀的地方,比如在数据处理上,图形处理上,能够方便的将需要处理的数据生成表格与图片,再比如在数据库的连接上,直接就有现成的函数可以使用,本篇博客将会长期更新,以记录在日常运维工作中对两种脚本语言不同应用场景的适应性纪实与小技巧的记录。
总体上有一个原则,如果shell脚本大于100行的话,在情况允许(方便连接外网)的情况下,可以用python对脚本进行重写。
1.python中的sys与system不是同一个东西,system是os模块下的一个函数,可以将字符串转化成命令在服务器上运行;其原理是每一条system函数执行时,其会创建一个子进程在系统上执行命令行,子进程的执行结果无法影响主进程;上述原理会导致当需要执行多条命令行的时候可能得不到预期的结果;
import os os.system(‘cd /usr/local‘) os.mkdir(‘aaa.txt)
上述程序运行后会发现txt文件并没有创建在/usr/local文件夹下,而是在当前的目录下;
参考办法:为了保证system执行多条命令可以成功,多条命令需要在同一个子进程中运行;
import os os.system(‘cd /usr/local && mkdir aaa.txt‘) # 或者 os.system(‘cd /usr/local ; mkdir aaa.txt‘)
原文地址:https://www.cnblogs.com/xiaoyuxixi/p/12240715.html
时间: 2024-10-13 03:17:18