使用Python生成Shell命令,批量執(zhí)行程序代碼解析
本文主要研究的是Linux系統(tǒng)中使用Python生成Shell命令,批量執(zhí)行程序的相關(guān)內(nèi)容,具體如下。
近日經(jīng)常遇到在Linux shell中批量執(zhí)行相似命令的情況。比如執(zhí)行如下命令:
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
如果手動(dòng)輸入,錯(cuò)誤率高,時(shí)間成本大,效率非常低下。使用Shell編程很容易批量處理上述程序,但如果不熟悉Shell編程,亦可以輕松實(shí)現(xiàn)。關(guān)鍵是思維的轉(zhuǎn)變。我們可以使用Python將上述命令寫(xiě)到一個(gè)文件里,然后從文件內(nèi)容拷貝到#!/bin/bash開(kāi)頭的.sh文件中即可構(gòu)建出所需的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()
總結(jié)
以上就是本文關(guān)于使用Python生成Shell命令,批量執(zhí)行程序代碼解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
Linux服務(wù)器間文件實(shí)時(shí)同步的實(shí)現(xiàn)
這篇文章主要介紹了Linux服務(wù)器間文件實(shí)時(shí)同步的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11linux嘗試登錄失敗后鎖定用戶(hù)賬戶(hù)的兩種方法
這篇文章主要給大家分享了linux嘗試登錄失敗后鎖定用戶(hù)賬戶(hù)的兩種方法,分別是利用pam_tally2模塊和pam_faillock 模塊實(shí)現(xiàn),文中通過(guò)詳細(xì)的示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-06-06Linux中大內(nèi)存頁(yè)Oracle數(shù)據(jù)庫(kù)優(yōu)化的方法
這篇文章主要給大家介紹了關(guān)于Linux中大內(nèi)存頁(yè)Oracle數(shù)據(jù)庫(kù)優(yōu)化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11Linux定時(shí)刪除日志的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Linux定時(shí)刪除日志的簡(jiǎn)單實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Ubuntu系統(tǒng)查看進(jìn)程被kill的命令和方法
這篇文章主要介紹了Ubuntu查看進(jìn)程被kill的幾種方式,在Ubuntu系統(tǒng)中,要查看進(jìn)程被殺掉的記錄,可以使用文中命令和方法,文章通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下2024-05-05Linux編譯LVGL仿真器出錯(cuò)問(wèn)題解決
大家好,本篇文章主要講的是Linux編譯LVGL仿真器出錯(cuò)問(wèn)題解決,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽2022-01-01Linux通用java程序啟動(dòng)腳本代碼實(shí)例
這篇文章主要介紹了Linux通用java程序啟動(dòng)腳本代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05