当前位置 : 主页 > 编程语言 > python >

python commands执行命令详解

来源:互联网 收集:自由互联 发布时间:2022-06-15
文章目录 ​​1. 介绍​​ ​​2. 方法​​ ​​2.1 commands.getstatusoutput(cmd)​​ ​​2.2 commands.getstatus(file)​​ ​​2.3 commands.getoutput(cmd)​​ ​​3 练习​​ 1. 介绍 commands模块是pyth


文章目录

  • ​​1. 介绍​​
  • ​​2. 方法​​
  • ​​2.1 commands.getstatusoutput(cmd)​​
  • ​​2.2 commands.getstatus(file)​​
  • ​​2.3 commands.getoutput(cmd)​​
  • ​​3 练习​​

1. 介绍

commands模块是python的内置模块,他共有三个函数,使用help(commands)可以查看到

2. 方法

FUNCTIONS
getoutput(cmd)
Return output (stdout or stderr) of executing cmd in a shell.

getstatus(file)
Return output of "ls -ld " in a string.

getstatusoutput(cmd)
Return (status, output) of executing cmd in a shell.

2.1 commands.getstatusoutput(cmd)

返回一个元组(status,output)
status代表的shell命令的返回状态,如果成功的话是0;output是shell的返回的结果
用os.popen()执行命令cmd, 然后返回两个元素的元组(status, result),其中 status为int类型,result为string类型。cmd执行的方式是{ cmd ; } 2>&1, 这样返回结果里面就会包含标准输出和标准错误.

>>> import commands
>>> status, output = commands.getstatusoutput("ls")
>>> print status
0
>>> print output
atom:
bookstore
cookie.py~

2.2 commands.getstatus(file)

只返回执行的结果, 忽略返回值.返回ls -ld file执行的结果.

commands.getstatus(file)

注意:该函数已被python丢弃,不建议使用

2.3 commands.getoutput(cmd)

只返回执行的结果, 忽略返回值.

>>> print commands.getoutput("ls")
atom:
bookstore
cookie.py~

3 练习

#!/usr/bin/python
#coding:utf-8
import os,sys,commands

def openfile():
grains = {}
_open_file=65533
try:
getulimit=commands.getstatusoutput('source /etc/profile;ulimit -n')
except Exception,e:
pass
if getulimit[0]==0:
_open_file=int(getulimit[1])
grains['max_open_file'] = _open_file
print grains
return grains
openfile()

输出:

$ python com1.py
{'max_open_file': 1024}

【文章出处:香港多ip站群服务器 http://www.558idc.com/hkzq.html提供,感恩】
上一篇:python json文本处理详解
下一篇:没有了
网友评论