使用Python生成Shell命令,批量执行程序代码解析

 更新时间:2018年01月15日 10:26:42   作者:Yunhe_Feng  
这篇文章主要介绍了使用Python生成Shell命令,批量执行程序代码解析,具有一定借鉴价值,需要的朋友可以参考下

本文主要研究的是Linux系统中使用Python生成Shell命令,批量执行程序的相关内容,具体如下。

近日经常遇到在Linux shell中批量执行相似命令的情况。比如执行如下命令:

gifsicle --delay=100 gif/App_1_hour_*_down.gif > combine_gif/App_1_hour_down.gif 
gifsicle --delay=100 gif/App_1_hour_*_up.gif > combine_gif/App_1_hour_up.gif 
gifsicle --delay=100 gif/App_2_hour_*_down.gif > combine_gif/App_2_hour_down.gif 
gifsicle --delay=100 gif/App_2_hour_*_up.gif > combine_gif/App_2_hour_up.gif 
gifsicle --delay=100 gif/App_3_hour_*_down.gif > combine_gif/App_3_hour_down.gif 
gifsicle --delay=100 gif/App_3_hour_*_up.gif > combine_gif/App_3_hour_up.gif 
gifsicle --delay=100 gif/App_4_hour_*_down.gif > combine_gif/App_4_hour_down.gif 
gifsicle --delay=100 gif/App_4_hour_*_up.gif > combine_gif/App_4_hour_up.gif 
gifsicle --delay=100 gif/App_5_hour_*_down.gif > combine_gif/App_5_hour_down.gif 

如果手动输入,错误率高,时间成本大,效率非常低下。使用Shell编程很容易批量处理上述程序,但如果不熟悉Shell编程,亦可以轻松实现。关键是思维的转变。我们可以使用Python将上述命令写到一个文件里,然后从文件内容拷贝到#!/bin/bash开头的.sh文件中即可构建出所需的Shell脚本文件。生成上述命令的Python代码如下:

output = open("C:\\Python34\\shell_commands.txt", "w") 
 
for i in range (1, 21): 
  wr_line_1 = "gifsicle --delay=100 gif/App_" + str(i) + "_hour_*_down.gif > combine_gif/App_" + str(i) + "_hour_down.gif" + "\n" 
  wr_line_2 = "gifsicle --delay=100 gif/App_" + str(i) + "_hour_*_up.gif > combine_gif/App_" + str(i) + "_hour_up.gif" + "\n" 
  output.writelines(wr_line_1) 
  output.writelines(wr_line_2) 
output.close() 

总结

以上就是本文关于使用Python生成Shell命令,批量执行程序代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例)

    Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例)

    本文以tomcat8为例给大家介绍Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项,非常不错,需要的朋友参考下
    2019-10-10
  • crontab定时任务不执行的原因分析与解决方法

    crontab定时任务不执行的原因分析与解决方法

    这篇文章主要给大家介绍了关于crontab定时任务不执行的原因分析与解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 详解Nginx服务器中的Socket切分

    详解Nginx服务器中的Socket切分

    这篇文章主要介绍了Nginx服务器中的Socket切分,以新发布的1.9.1版本的Nginx为基础,需要的朋友可以参考下
    2015-06-06
  • Centos8搭建本地Web服务器的实现步骤

    Centos8搭建本地Web服务器的实现步骤

    这篇文章主要介绍了Centos8搭建本地Web服务器的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • CentOS7挂载新数据盘的完整步骤

    CentOS7挂载新数据盘的完整步骤

    这篇文章主要给大家介绍了关于CentOS7挂载新数据盘的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家学习或者使用CentOS7具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 21个常用的apache .htaccess文件配置技巧分享

    21个常用的apache .htaccess文件配置技巧分享

    这篇文章主要介绍了21个常用的apache .htaccess文件配置技巧分享,涵盖了网站中最常用的一些功能需求解决办法,需要的朋友可以参考下
    2014-07-07
  • linux环境下的Oracle部署教程

    linux环境下的Oracle部署教程

    这篇文章主要介绍了linux环境下的Oracle部署方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Squid集群做CDN全网加速配置分享

    Squid集群做CDN全网加速配置分享

    主服务器群,然后在利用Squid逆向缓存web80端口来加速自己的网站.各大门户网站象163,sina,chinaitlab之类基本都是使用的这种技术,好处是大大的有.比如加速了网络和可以防黑客(因为他们见到的都是CDN的主机)
    2013-04-04
  • 如何对安装Linux的服务器进行缓存清除

    如何对安装Linux的服务器进行缓存清除

    这篇文章主要介绍了如何对安装Linux的服务器进行缓存清除问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • linux基础教程之特殊权限SUID、SGID和SBIT

    linux基础教程之特殊权限SUID、SGID和SBIT

    这篇文章主要给大家介绍了关于linux基础教程之特殊权限SUID、SGID和SBIT的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09

最新评论