zoukankan      html  css  js  c++  java
  • python标准库介绍——36 popen2 模块详解

    ==popen2 模块==
    
    
    ``popen2`` 模块允许你执行外部命令, 并通过流来分别访问它的 ``stdin`` 和 ``stdout`` ( 可能还有 ``stderr`` ). 
    
    在 python 1.5.2 以及之前版本, 该模块只存在于 Unix 平台上. 2.0 后, Windows 下也实现了该函数. 
    [Example 3-9 #eg-3-9] 展示了如何使用该模块来给字符串排序. 
    
    ====Example 3-9. 使用 popen2 模块对字符串排序Module to Sort Strings====[eg-3-9]
    
    ```
    File: popen2-example-1.py
    
    import popen2, string
    
    fin, fout = popen2.popen2("sort")
    
    fout.write("foo
    ")
    fout.write("bar
    ")
    fout.close()
    
    print fin.readline(),
    print fin.readline(),
    fin.close()
    
    *B*bar
    foo*b*
    ```
    
    [Example 3-10 #eg-3-10] 展示了如何使用该模块控制应用程序 .
    
    ====Example 3-10. 使用 popen2 模块控制 gnuchess====[eg-3-10]
    
    ```
    File: popen2-example-2.py
    
    import popen2
    import string
    
    class Chess:
        "Interface class for chesstool-compatible programs"
    
        def _ _init_ _(self, engine = "gnuchessc"):
            self.fin, self.fout = popen2.popen2(engine)
            s = self.fin.readline()
            if s != "Chess
    ":
                raise IOError, "incompatible chess program"
    
        def move(self, move):
            self.fout.write(move + "
    ")
            self.fout.flush()
            my = self.fin.readline()
            if my == "Illegal move":
                raise ValueError, "illegal move"
            his = self.fin.readline()
            return string.split(his)[2]
    
        def quit(self):
            self.fout.write("quit
    ")
            self.fout.flush()
    
    #
    # play a few moves
    
    g = Chess()
    
    print g.move("a2a4")
    print g.move("b2b3")
    
    g.quit()
    
    *B*b8c6
    e7e5*b*
    ```
    

      

  • 相关阅读:
    pku夏令营面试
    机器学习实验一SVM分类实验
    面试相关-转载-well,yzl——持续更新
    2715:谁拿了最多奖学金-poj
    1005:I Think I Need a Houseboat-poj
    2810:完美立方-poj
    2943:小白鼠排队-poj
    rem+媒体查询---移动端 设计稿以375
    微信小程序 + mock.js 实现后台模拟及调试
    一个div 实现纸张阴影效果
  • 原文地址:https://www.cnblogs.com/xuchunlin/p/7784794.html
Copyright © 2011-2022 走看看