Python调用shell

  在Python程序中有时候我们需要调用shell命令,这里总结一下:

1.os.system(cmd)

  不能够获取到输出

2.os.popen(cmd)

  可以用read()方法获取输出,即os.popen(cmd)

3.subprocess.Popen(cmd,shell=true)

  

详见:http://blog.sina.com.cn/s/blog_5357c0af0100yzet.html

时间: 2024-10-09 19:40:32

Python调用shell的相关文章

python调用shell, shell 引用python

python 调用 shell get_line_num="wc -l as_uniq_info | awk '{print $1}'" ###get the lines of "as_uniq_info" line_num = os.popen(get_line_num).read().strip('\n') get_line_num 作为shell执行的命令,会取得文件as_uniq_info文件的行数 os.popen(get_line_num):执行shel

python 调用shell命令三种方法

#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器: #!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里. python调用shell命令的方法有许多 1.1   os.system(command) 在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态.这实际上是使用C标准库函数system()实现的.这个函数在执行comman

python 调用shell命令的方法

在python程序中调用shell命令,是件很酷且常用的事情…… 1. os.system(command) 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出状态,如果command有执行内容,会在标准输出显示.这实际上是使用C标准库函数system()实现的. 缺点:这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果. 实例:os.system('ls -l *') 2. os.popen(command,

python调用shell命令

1.1   os.system(command) 在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态.这实际上是使用C标准库函数system()实现的.这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果. 1.2   os.popen(command,mode) 打开一个与command进程之间的管道.这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是'r').如果mode为'r',可以

python调用shell命令小结

在写python脚本的时候,经常需要调用系统命令,常用的python调用系统命令的方法主要有subprocess.call和os.popen.默认情况下subprocess.call的方法结果是返回值,即1或0,而os.popen则是命令运行的结果,可以用readlines(读取所有行,返回数组)或者read(读读取所有行,返回str)来读取. subprocess类总主要的方法有: subprocess.call:开启子进程,开启子进程,运行命令,默认结果是返回值,不能try subproce

Python 调用 shell 命令的模块总结

os.system('cat /proc/cpuinfo') 阻塞,返回shell执行参数命令的状态,即成功返回0 os.popen('cat /proc/cpuinfo') 阻塞,返回file read的对象,对该对象进行 read() 可以获取shell执行参数命令的结果,即标准输出 commands.getstatus('/proc/cputinfo') 阻塞,返回参数指定的系统文件的详细属性 commands.getoutput('cat /proc/cpuinfo') 阻塞,返回she

python调用shell命令之三大方法

preface: 忙于最近的任务,需要用到libsvm的一些命令,如在终端运行java svm_train train_file model_file. pythonsubset.py file train_num train_file test_file等命令,但file的准备又是通过python写好的,file需要是libsvm能够接受的格式,故用python写好特征,转为libsvm能够接受的格式,生成file,然后在终端调用训练.故想着直接在python代码里面直接运行终端的命令.博友博

python调用shell命令之三慷慨法

preface: 忙于近期的任务,须要用到libsvm的一些命令.如在终端执行java svm_train train_file model_file. pythonsubset.py file train_num train_file test_file等命令.但file的准备又是通过python写好的.file须要是libsvm可以接受的格式.故用python写好特征.转为libsvm可以接受的格式.生成file,然后在终端调用训练.故想着直接在python代码里面直接执行终端的命令.博友博

[蟒蛇菜谱] Python调用shell命令,获取返回值和返回信息

# -*- coding: utf-8 -*- import os import subprocess import signal class MockLogger(object): '''模拟日志类.方便单元测试.''' def __init__(self): self.info = self.error = self.critical = self.debug def debug(self, msg): print "__LOGGER__:"+msg class Shell(obj