Board logo

标题: Python3调用Linux命令 [打印本页]

作者: admin    时间: 2019-9-29 10:03     标题: Python3调用Linux命令

操作系统的版本信息: [root@Zabbix_server_01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@Zabbix_server_01 ~]# [root@Zabbix_server_01 ~]# uname -r 2.6.32-696.el6.x86_64 Python的版本信息: [root@Zabbix_server_01 ~]# python3 --version Python 3.6.8 ###### 例子一: #coding=utf-8 import os Key_1 = os.system("mv yy.py zz.py") #同一目录下,修改文件名 print(Key_1) if Key_1 == 0 : print('修改文件名成功。') else: print('修改文件名失败。') 运行脚本的效果:(成功时) [root@Zabbix_server_01 ~]# python3 xx.py 0 修改文件名成功。 [root@Zabbix_server_01 ~]# 运行脚本的效果:(失败时) [root@Zabbix_server_01 ~]# python3 xx.py mv: 无法获取"yy.py" 的文件状态(stat): 没有那个文件或目录 256 修改文件名失败。 [root@Zabbix_server_01 ~]# ###### 例子二: #coding=utf-8 import os Key_1 = os.system("mv yy.py /zz.py") #不同目录下,修改文件名 if Key_1 == 0 : print('修改文件名成功。') else: print('修改文件名失败。') 运行脚本的效果:(成功时) [root@Zabbix_server_01 ~]# python3 xx.py 修改文件名成功。 [root@Zabbix_server_01 ~]# 运行脚本的效果:(失败时) [root@Zabbix_server_01 ~]# python3 xx.py mv: 无法获取"yy.py" 的文件状态(stat): 没有那个文件或目录 修改文件名失败。 [root@Zabbix_server_01 ~]# ###### 例子三: #coding=utf-8 import os #显示某种后缀的文件;返回的字符串的右边会多了个换行符 Key_1 = os.popen("ls -alh *.tar.gz").read() print(Key_1) 运行脚本的效果:(文件存在时) [root@Zabbix_server_01 ~]# python3 xx.py -rw-r--r--. 1 root root 478M 4月 29 2018 lnmp1.3-full.tar.gz -rw-r--r--. 1 root root 19M 2月 19 2020 zabbix-4.4.5.tar.gz [root@Zabbix_server_01 ~]# 运行脚本的效果:(文件不存在时) [root@Zabbix_server_01 ~]# python3 xx.py ls: 无法访问*.tar.gz: 没有那个文件或目录 [root@Zabbix_server_01 ~]# ###### 例子四: #coding=utf-8 import os os.popen("echo 'Welcome to zhuohua.' > /1.log").read() # > 把输出结果写入(覆盖)到文件;假如文件不存在会自动创建 os.chdir("/") #切换工作目录 String_1 = 'echo "Welcome to Python." >> 2.log' # >> 把输出结果写入(追加)到文件;假如文件不存在会自动创建 os.popen(String_1).read() 运行脚本的效果: [root@Zabbix_server_01 ~]# python3 xx.py [root@Zabbix_server_01 ~]# [root@Zabbix_server_01 ~]# cat /1.log /2.log Welcome to zhuohua. Welcome to Python. [root@Zabbix_server_01 ~]# ###### 例子五: #coding=utf-8 import os #输出CPU使用率 String_1 = "CPU_use_percent=$(expr 100 - $(vmstat -w |tail -1 |awk '{print $15}')) && echo $CPU_use_percent" Key_1 = os.popen(String_1).read() print(Key_1) #返回的字符串的右边会多了个换行符 print("-" * 10) #输出内存使用率 String_1 = "Mem_use_percent=$(expr $(free |head -3 |tail -1 |awk '{print $3}') \* 100 / $(free |grep 'Mem:' |awk '{print $2}')) && echo $Mem_use_percent" Key_1 = os.popen(String_1).read() print(Key_1) print("-" * 10) #输出根分区的使用率 String_1 = "df -hT |grep '/$' |awk '{print $5}' |awk -F% '{print $1}'" Key_1 = os.popen(String_1).read() print(Key_1) print(type(Key_1)) #返回值的数据类型为字符串 Key_1 = float(Key_1) #转换为浮点数 print(Key_1) Key_1 = int(Key_1) #转换为整数 print(Key_1) 运行脚本的效果: [root@Zabbix_server_01 ~]# python3 xx.py 5 ---------- 29 ---------- 7 7.0 7 [root@Zabbix_server_01 ~]# ###### 例子六: #coding=utf-8 import os os.popen("init 6").read() # 重启服务器 os.popen("init 0").read() # 关闭服务器 相关文章: Python3命令集 Python3获取主机名和IP地址 Python3管理Linux的软件进程 CentOS6使用Python3脚本备份站点(Zabbix)+crontab计划任务 CentOS8使用Python3脚本管理MySQL8.0 Python3调用Windows命令 使用Shell脚本监控本机的CPU、内存、分区的使用率




欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2