Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1186106
  • 博文数量: 253
  • 博客积分: 5892
  • 博客等级: 大校
  • 技术积分: 1942
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-24 14:20
文章分类

全部博文(253)

文章存档

2012年(98)

2011年(155)

分类: Python/Ruby

2011-11-18 10:09:58

在此比较一下两种方法执行系统命令的方法,以方便于日后运用:(

1. os.system()


  1. system(command) -> exit_status  
  2.       
  3. Execute the command (a string) in a subshell.  
  4.   
  5.   
  6. # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息..  

 
  1. >>> os.system('ls')  #如果再命令行下执行,结果直接打印出来
  2. 04101419778.CHM  bash     document   media     py-django  video  
  3. 11.wmv           books    downloads  Pictures  python  
  4. all-20061022     Desktop  Examples   project   tools  

  
2.os.popen()


  1. popen(command [, mode='r' [, bufsize]]) -> pipe  
  2.       
  3. Open a pipe to/from a command returning a file object.  
  4.   
  5. # 此种方法不但执行命令还返回执行后的信息对象   


 
  1. >>>tmp = os.popen('ls *.py').readlines()  
  2.   
  3. >>>tmp  
  4. Out[21]:   
  5. ['dump_db_pickle.py\n',  
  6.  'dump_db_pickle_recs.py\n',  
  7.  'dump_db_shelve.py\n',  
  8.  'initdata.py\n',  
  9.  '__init__.py\n',  
  10.  'make_db_pickle.py\n',  
  11.  'make_db_pickle_recs.py\n',  
  12.  'make_db_shelve.py\n',  
  13.  'peopleinteract_query.py\n',  
  14.  'reader.py\n',  
  15.  'testargv.py\n',  
  16.  'teststreams.py\n',  
  17.  'update_db_pickle.py\n',  
  18.  'writer.py\n']  

    将返回的结果赋于一变量,便于程序的处理.

   总结两者可知,根据不同的用途,可以合理的调用不同的方法来进行。。。
阅读(1102) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~