懒人的python——一次执行多条linux命令
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
今天在公司搞了半天EE2I,一直在敲相同的命令累死了。每次运行ee2i.sh temp命令后,都要到cd到某个目录下执行下一个shell脚本。做完一次后又要删除临时文件。总之,重复工作很多,我的指甲都敲累了。所以晚上回到家就写了个类似的python脚本来自动化执行这些讨厌的重复工作,也顺便多学点python的知识。
- import os
- import sys
- import shutil
- import subprocess
- if __name__ == '__main__':
- e2iDir = 'e2i'
- tempFileName = 'temp'
- tempDir = os.path.join(e2iDir, tempFileName)
- lintResultDir = 'lintResult'
- if os.path.exists(tempDir):
- shutil.rmtree(tempDir)
- else:
- #Only for test
- os.mkdir(tempDir)
- if os.path.exists(lintResultDir):
- shutil.rmtree(lintResultDir)
- else:
- #Only for test
- os.mkdir(lintResultDir)
- # The commands to excute
- ee2iCmd = ['./product/bin/testapp', tempFileName]
- lintCmd = ['ls', '-R'] #XLINT_XXXX.sh
- cmdList = []
- cmdList.append(ee2iCmd)
- cmdList.append(lintCmd)
- # Run all commands once.
- for oscmd in cmdList:
- subprocess.call(oscmd)
说明:
由于家里没有公司的开发环境,上面的这段代码只是个原型,主要是将几条工作中要反复执行的命令串起来执行。
总结:
1) 删除包含子目录的文件夹不能用os.rmdir(),而应该用shutil.rmtree();
2) subprocess.call()的入参数可以是个列表,列表的第一个元素代表命令字,后面的都是命令的参数;
3)使用os.path下的一个函数可以简化路径的操作,比如os.path.join连接路径,os.path.exists()判断某个文件或路径是否存在。
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献2条内容
所有评论(0)