Python os.system 和 os.popen的区别

(1) os.system

# 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息

system(command) -> exit_status
Execute the command (a string) in a subshell.

# 如果再命令行下执行,结果直接打印出来

1 >>> os.system(‘ls‘)
2
3 04101419778.CHM   bash      document    media      py-django   video
4
5 11.wmv            books     downloads   Pictures  python
6
7 all-20061022      Desktop   Examples    project    tools

(2) os.popen

# 该方法不但执行命令还返回执行后的信息对象

popen(command [, mode=‘r‘ [, bufsize]]) -> pipe
Open a pipe to/from a command returning a file object.

例如:

 1 >>>tmp = os.popen(‘ls *.py‘).readlines()
 2
 3 >>>tmp
 4
 5 Out[]:
 6
 7 [‘dump_db_pickle.py ‘,
 8
 9 ‘dump_db_pickle_recs.py ‘,
10
11 ‘dump_db_shelve.py ‘,
12
13 ‘initdata.py ‘,
14
15 ‘__init__.py ‘,
16
17 ‘make_db_pickle.py ‘,
18
19 ‘make_db_pickle_recs.py ‘,
20
21 ‘make_db_shelve.py ‘,
22
23 ‘peopleinteract_query.py ‘,
24
25 ‘reader.py ‘,
26
27 ‘testargv.py ‘,
28
29 ‘teststreams.py ‘,
30
31 ‘update_db_pickle.py ‘,
32
33 ‘writer.py ‘]

好处在于:将返回的结果赋于一变量,便于程序的处理。

时间: 2024-12-29 06:54:38

Python os.system 和 os.popen的区别的相关文章

python os.system()和os.popen()

1>python调用Shell脚本,有两种方法:os.system()和os.popen(),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容.>>>help(os.system)Help on built-in function system in module posix:system(...)    system(command) -> exit_status    Execute the command (a string) in a subshe

os.system和os.popen函数

os.system和os.popen函数: python调用shell命令有2种方法:os.system()和os.popen() os.system()的返回值只会有0(成功),1,2:os.popen()会把执行命令的输出作为值返回,可实现一个"管道",从这个命令获取的值可以继续被调用. 示例: vi a1.py #!/usr/bin/python import os a = os.popen('df -h /').readlines()a2 = ''.join(a)print a

os.system和os.popen的区别

#!/usr/bin/env python #coding:utf-8 import os,sys print os.system("dir")         #只执行命令,不保存结果 print os.popen("dir").read()     #执行结果存到内存 print sys.path               #输出标准库和第三方库路径

[转] Python执行系统命令的方法 os.system(),os.popen(),commands

最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类. 最开始的时候用 Python 学会了 os.system() 这个方法是很多比如 C,Perl 相似的. os.system('cat /proc/cpuinfo') 但是这样是无法获得到输出和返回值的,继续 Google,之后学会了 os.popen(). output = os.popen('cat /proc/cpuinfo')print output.read() 通 过 os.popen() 返

Python执行系统命令的方法 os.system(),os.popen(),commands

转载:http://blog.csdn.net/b_h_l/article/details/12654749 第一种:使用os.system() import osos.system('cat /etc/profile') 第二种:使用os.popen() import os output = os.popen('cat /proc/cpuinfo') print output.read() 通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以

os.system() 和 os.popen()

1.os.popen(command[, mode[, bufsize]])  os.system(command) 2.os.popen() 功能强于os.system() , os.popen() 可以返回回显的内容,以文件描述符返回.eg:t_f = os.popen ("ping 192.168.1.1")print t_f.read() 或者:for line in os.popen("dir"):    print line 最近在做那个测试框架的时候发

Python调用外部程序——os.system()和subprocess.call()

通过os.system和subprocess.call()函数调用其他程序 预备知识:cmd中打开和关闭程序 cmd中打开程序 a.打开系统自带程序 系统自带的程序的路径一般都已加入环境变量之中,只需在cmd窗口中直接输入程序名称即可. 以notepad为例,直接在cmd窗口中输入notepad后回车即可打开. b.打开自己安装且没有加入环境变量的程序 以网易云音乐为例,在cmd窗口中需要输入完整的程序路径  "D:\Program Files (x86)\Netease\CloudMusic\

[py] os.system os.popen commands 执行shell

? 1.仅输出到屏幕,pwd保存的是状态<=====可用于执行shell命令 pwd=os.system(pwd) ? 2.popen可以保存命令结果 pwd=os.popen('pwd').read() ? 3,返回状态和命令结果 pwd=commands.getstatusoutput('pwd') (0, '/home/py')

Python 基础之模块之os os.path 及os与shutil对比

一: os 对系统进行操作 #注:以下操作都在linux环境下操作,且很多运行之前需要做好相关条件import os#(1)system() 在python总执行系统命令#os.system("touch ceshi.txt") #linux#os.system("ifconfig") # os.system("mspaint")  #windows# os.system("ipconfig")  #乱码#(2)popen()