您的位置:首页 > 编程语言 > Python开发

Python os.system 和 os.popen的区别

2015-06-21 15:52 399 查看
(1) os.system

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

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

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

>>> os.system('ls')

04101419778.CHM   bash      document    media      py-django   video

11.wmv            books     downloads   Pictures  python

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.

例如:

>>>tmp = os.popen('ls *.py').readlines()

>>>tmp

Out[]:

['dump_db_pickle.py ',

'dump_db_pickle_recs.py ',

'dump_db_shelve.py ',

'initdata.py ',

'__init__.py ',

'make_db_pickle.py ',

'make_db_pickle_recs.py ',

'make_db_shelve.py ',

'peopleinteract_query.py ',

'reader.py ',

'testargv.py ',

'teststreams.py ',

'update_db_pickle.py ',

'writer.py ']


好处在于:将返回的结果赋于一变量,便于程序的处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: