整理:python執行shell指令四法,示例如下:
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
<code>#!/usr/bin/env python </code>
<code># -*- coding: utf-8 -*- </code>
<code>import</code> <code>os</code>
<code>import</code> <code>platform</code>
<code>import</code> <code>subprocess</code>
<code>import</code> <code>commands</code>
<code>def</code> <code>subproc():</code>
<code> </code><code>print</code> <code>"系統程序數:"</code>
<code> </code><code>subprocess.call(</code><code>"ps -ef|wc -l"</code><code>,shell</code><code>=</code><code>True</code><code>)</code>
<code>def</code> <code>os_popen():</code>
<code> </code><code>print</code> <code>"IP位址:"</code>
<code> </code><code>os1 </code><code>=</code> <code>platform.system()</code>
<code> </code><code>if</code> <code>os1 </code><code>=</code><code>=</code> <code>"Linux"</code><code>:</code>
<code> </code><code>print</code> <code>os1</code>
<code> </code><code>ip1 </code><code>=</code><code>os.popen(</code><code>"/sbin/ifconfig eth0|grep 'inet addr'"</code><code>).read().strip().split(</code><code>":"</code><code>)[</code><code>1</code><code>].split()[</code><code>0</code><code>]</code>
<code> </code><code>print</code> <code>"\033[1;32;40m%s\033[0m"</code> <code>%</code> <code>ip1</code>
<code>def</code> <code>os_system():</code>
<code> </code><code>os_command </code><code>=</code> <code>'free -m'</code>
<code> </code><code>cls_node1 </code><code>=</code> <code>"指令執行成功...."</code>
<code> </code><code>cls_node2 </code><code>=</code> <code>"指令執行失敗...."</code>
<code> </code><code>if</code> <code>os.system(os_command) </code><code>=</code><code>=</code> <code>0</code><code>:</code>
<code> </code><code>print</code> <code>"\n\033[1;32;40m%s\033[0m"</code> <code>%</code> <code>cls_node1</code>
<code> </code><code>else</code><code>:</code>
<code> </code><code>print</code> <code>"\n\033[1;31;40m%s\033[0m"</code> <code>%</code> <code>cls_node2</code>
<code>def</code> <code>os_commands():</code>
<code> </code><code>(status, output) </code><code>=</code> <code>commands.getstatusoutput(</code><code>'pwd'</code><code>)</code>
<code> </code><code>print</code> <code>status, output</code>
<code>def</code> <code>main():</code>
<code> </code><code>subproc()</code>
<code> </code><code>os_popen()</code>
<code> </code><code>os_system()</code>
<code> </code><code>os_commands()</code>
<code>if</code> <code>__name__ </code><code>=</code><code>=</code> <code>"__main__"</code><code>:</code>
<code> </code><code>main()</code>
本文轉自 koumm 51CTO部落格,原文連結:http://blog.51cto.com/koumm/1438687,如需轉載請自行聯系原作者