一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python實現批處理文件

python實現批處理文件

2020-07-29 00:17fanyamin Python

這篇文章主要為大家詳細介紹了python實現批處理文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Windows下的bat, linux 下的shell 用來做批處理都很好用,可惜不通用

用 Python 來做就簡單多了,不過一條條寫代碼來調用系統命令也夠煩的了
程序員都很懶, 不愿做機械無謂的重復性工作, 干脆自己實現一個.

用法超級簡單, 默認會執行一個自定義的 batch.json, 按順序一條條執行其中的步驟

?
1
2
3
4
5
6
7
{"steps":
  [
  {"step":"df -h","desc":"display disk space usage"},
  {"step":"date","desc":"display the current dater"},
  {"step":"time","desc":"display the current time"}
  ]
}

用法:

?
1
python batch.py

當然也可以指定不同的步驟文件 , 例如

?
1
python batch.py xxx.json

運行結果以markdown形式輸出, 例如

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$ python batch.py
Usage: python batch.py <batch_json_file>
note: execute the batch.json by default
# Execute batch.json begin
---------------------------
 
## Will execute 3 steps
~~~~~~~~~~~~~~~~~~~~~~~~~~~
0. [df -h]: display disk space usage
1. [date]: display the current dater
2. [time]: display the current time
 
* 0. [df -h]: display disk space usage
Filesystem             Size  Used Avail Capacity iused  ifree %iused Mounted on
/dev/disk1             233Gi 208Gi  24Gi  90% 54622825 6364694  90%  /
devfs               329Ki 329Ki  0Bi  100%  
 
* 1. [date]: display the current dater
Thu Mar 3 22:50:21 CST 2016
 
* 2. [time]: display the current time
 
real  0m0.001s
user  0m0.000s
sys 0m0.000s
 
## Done the following steps
~~~~~~~~~~~~~~~~~~~~~~~~~~~
0. [df -h]: display disk space usage
1. [date]: display the current dater
# Execute batch.json end.

Python源代碼如下, 希望有人能用得上

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
'''
  like bat file, execute the steps in batch.json
'''
import os,sys,subprocess
import time,thread
import codecs
import json
from datetime import datetime
from subprocess import call
from pprint import pprint
 
def execute_json(json_file):
  print "# Execute {0} begin\n---------------------------".format(json_file)
 
  json_data=open(json_file)
  data = json.load(json_data)
  cnt = len(data['steps'])
  i = 0
  print "\n## Will execute {0} steps \n~~~~~~~~~~~~~~~~~~~~~~~~~~~".format(cnt)
  for i in range(0, cnt):
      print "{0}. [{1}]: {2}".format(i, data['steps'][i]['step'], data['steps'][i]['desc'])
 
  #pprint(data)
  #print("cnt=", cnt)
  for i in range(0, cnt):
    cmd = data['steps'][i]['step']
    desc = data['steps'][i]['desc']
    print "\n* {0}. [{1}]: {2} ".format(i, cmd, desc)
 
    if(cmd.startswith('cd')):
      cmd = cmd.replace("cd ", "")
      os.chdir(cmd)
    else:
      ret = os.system(cmd)
      if(ret != 0):
        print "Encounter error of step {0}. {1}, error code={2}".format(i, cmd, ret)
        break
 
  print "\n## Done the following steps\n~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  for j in range(0, i):
    print "{0}. [{1}]: {2}".format(j, data['steps'][j]['step'], data['steps'][j]['desc']) 
  json_data.close()
  print "# Execute {0} end.".format(json_file)
 
if __name__ == "__main__":
  argc = len(sys.argv)
  step_file = 'batch.json'
  if( argc > 1):
    idx = 1
    while(idx < argc):
      step_file = sys.argv[idx]
      execute_json(step_file)
      idx = idx + 1
  else:
    print "Usage: python {0} <batch_json_file>".format(sys.argv[0])
    print "note: execute the batch.json by default"
    execute_json(step_file)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/fanyamin/article/details/50792426

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧美日韩另类精品一区二区三区 | 亚洲va精品中文字幕 | 久久久免费观成人影院 | 国产自一区| 乳环调教 | 日本高清免费观看 | 日韩欧美亚洲国产高清在线 | 经典WC女厕所里TV | 国产精品第一 | 三级全黄的视频 | 国产高清视频免费最新在线 | 99er在线视频 | 欧美久久久久久久一区二区三区 | 青青草在线播放 | 日韩人成 | 国产一级毛片国语版 | 免费特黄一区二区三区视频一 | 国产欧美久久久精品影院 | 91制片厂官网 | 国产成人精品一区二区阿娇陈冠希 | 波多野结衣一区 | 1024国产看片在线观看 | 日韩高清在线免费看 | 久久人妻无码毛片A片麻豆 久久热这里只有 精品 | 欧美激情影音先锋 | 我要看黄色毛片 | 四虎在线免费播放 | 无限资源在线观看播放 | 日韩精品在线视频观看 | zol中关村在线官网 yy6080欧美三级理论 | 国产一区二区三区在线观看视频 | 91东航翘臀女神在线播放 | 国产成人精品免费视频软件 | 国产福利一区二区三区 | 亚洲 欧美 日韩 国产 视频 | 欧美人禽杂交狂配无删完整 | chanelpreston欧美网站 | 91九色porny国产美女一区 | 色综合天天综合网站中国 | 大又大又黄又爽免费毛片 | 欧美综合在线 |