python标准库介绍——36 popen2 模块详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | = = 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\n" ) fout.write( "bar\n" ) 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\n" : raise IOError, "incompatible chess program" def move( self , move): self .fout.write(move + "\n" ) 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\n" ) self .fout.flush() # # play a few moves g = Chess() print g.move( "a2a4" ) print g.move( "b2b3" ) g.quit() * B * b8c6 e7e5 * b * ``` |
如果觉得对您有帮助,麻烦您点一下推荐,谢谢!
好记忆不如烂笔头
好记忆不如烂笔头
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术