Python脚本实战汇总

前言:

  总体上来说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

Python脚本实战汇总的相关文章

【python笔记 三 】python脚本实战---数字密码小游戏

描述:A输入一个数值,输入时该数值已隐藏无法看到,让B猜该数字为多少,数值过小或过大都会提示,并会在最后猜对时统计出共猜了几次. 脚本内容: #!/usr/bin/env python #FileName:while1.py import getpass    #调用模块 a = int(getpass.getpass('Enter A Number a:'))    #模块赋值 running = True i = 0 while running: b = int(raw_input('Ent

Python爬虫实战(2):爬取京东商品列表

1,引言 在上一篇<Python爬虫实战:爬取Drupal论坛帖子列表>,爬取了一个用Drupal做的论坛,是静态页面,抓取比较容易,即使直接解析html源文件都可以抓取到需要的内容.相反,JavaScript实现的动态网页内容,无法从html源代码抓取需要的内容,必须先执行JavaScript. 我们在<Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容>一文已经成功检验了动态网页内容的抓取方法,本文将实验程序进行改写,使用开源Python爬虫

Python开发实战教程(8)-向网页提交获取数据

来这里找志同道合的小伙伴!↑↑↑ Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习Python这门语言. 本次课程是在掌握python基础之上进行的.基础没有学习的话建议先查看文章学习基础目录:Python开发实战系列教程-链接汇总,持续更新.进行学习. 最近几天感冒中,四肢乏力以及最近比较忙导致,更新较慢.还请见谅. 概述 很多时候我们需要给网

shell 脚本实战笔记(6)--集群环境配置检测

1). 背景: 集群部署的时候, 需要一致的配置和环境设置. 对于虚拟机集群, 可以借助镜像拷贝, 复制和还原集群机器. 对与物理机集群而言, 则不一样, 如果机器一多, 多人去操作和配置, 对于成熟精干的团队还好, 对于不熟悉环境的小团队, 由于水平的参差不齐, 往往会导致不一致的环境. 因此无论如何, 写脚本进行自动化的配置和环境校验总是最佳实践. 2). 假设应用场景:*) 系统环境: 安装CDH5, 集群规模为16台机器, 每台机器16CPU, 内存16G, 2块SATA盘共500G,

shell 脚本实战笔记(3)--集群机器的时间同步设置

背景: 有些分布式服务(比如HBase服务), 依赖于系统时间戳, 如果集群各个节点, 系统时间不一致, 导致服务出现诡异的情况. 解决方案: 那如何同步集群各个节点之间的时间? 采用NTP(Network Time Protocol)方式来实现, 选择一台机器, 作为集群的时间同步服务器, 然后分别配置服务端和集群其他机器 1.NTP服务端 *) 安装ntp服务 yum install ntp *) 配置/etc/ntp.conf 这边采用本地机器作为时间的原点 注释server列表 #ser

python脚本处理伪静态注入

目前有很多网站做了rewrite,如 /?id=1 /1 /1111.php 大趋势下,攻击的门槛逐渐增高.这样有利有弊,喜欢研究的会深入钻研,另一方面只会用工具不懂原理的则充斥到大小论坛水区. 实战举例: http://www.bxxxxxxxxxxxx.edu/magazine/index.php/mxxxxia/gallery/dickinsons-last-dance/1 这个点存在注入 Error Number: 1064 You have an error in your SQL s

快速学会Python(实战)

一:学习感悟 (0)学习语言思想和观念的转变是关键 -- 感触分享 乐于善于接受新鲜事物,对新知识充满渴求的欲望: 多交朋友,你可能会做到一门技术一门语言的大牛,你不可能门门精通,互相学习: 参见技术交流群 和 技术blog和社区,之后自己再钻研官方的API 开启一门新技术的策略:1)从一个感兴趣的点入手(培养兴趣),运行一些小示例:2)1-2天简单的过一下基本的语言(可以不变代码):3)1-2天开始把教程里面的一些小程序,自己手动敲一遍:4)2-3天把此语言的数据类型以及包装类型的(类似STL

《Python开发实战》

<Python开发实战> 基本信息 作者: (日)BePROUD股份有限公司 译者: 盛荣 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115320896 上架时间:2014-5-6 出版日期:2014 年5月 开本:16开 页码:1 版次:1-1 所属分类:计算机 > 软件与程序设计 > Python 更多关于>>><Python开发实战> 编辑推荐 真实项目中的经验总结 行业精英们的智慧结晶 团队开发环境的搭建与管理 /

使用python脚本实现mysql误操作的flush back

1.简介在oracle数据库中,当一个误操作被提交后,我们可以通过oracle提供的闪回功能将表闪回至误操作之前的状态.在mysql中没有原生的flush back功能,DBA误操作时,传统的恢复方式是利用全备+二进制日志前滚进行恢复.今天给大家介绍一种使用python脚本在mysql中实现类似oracle中flush back table的闪回功能,相比于传统的全备+增备,本方法更为快速.简单. 2.闪回原理原理:调用mysql_rollback.py(脚本在我的另一篇blog 闪回脚本:my