pipes --- 终端管�接�¶
æº�代ç �: Lib/pipes.py
从 3.11 版起ä¸�建议使用,将在 3.13 版ä¸ç§»é™¤: pipes 模å�—已被弃用(请å�‚阅 PEP 594 了解详情)。 请改用 subprocess 模å�—。
pipes 定义了一个类用�抽象 pipeline 的概念 --- 将数�从一个文件转到�一文件的转�器�列。
由于模å�—使用了 /bin/sh å‘½ä»¤è¡Œï¼Œå› æ¤è¦�求有 POSIX 或兼容 os.system() å’Œ os.popen() 的终端程åº�。
�用性: Unix,�包括 VxWorks。
pipes 模�定义了以下的类:
- class pipes.Template¶
对管�的抽象。
示例:
>>> import pipes
>>> t = pipes.Template()
>>> t.append('tr a-z A-Z', '--')
>>> f = t.open('pipefile', 'w')
>>> f.write('hello world')
>>> f.close()
>>> open('pipefile').read()
'HELLO WORLD'
模�对象¶
模�对象有以下方法:
- Template.reset()¶
将一个管�模���为�始状�。
- Template.clone()¶
返回一个新的ç‰ä»·çš„管é�“模æ�¿ã€‚
- Template.debug(flag)¶
如果 flag 为真值,则�用调试。 �则�用调试。 当�用调试时,�执行的命令会被打�出�,并且会给予终端
set -x命令以输出更详细的信�。
- Template.append(cmd, kind)¶
åœ¨æœ«å°¾æ·»åŠ ä¸€ä¸ªæ–°çš„åŠ¨ä½œã€‚ cmd å�˜é‡�必须为一个有效的 bourne 终端命令。 kind å�˜é‡�ç”±ä¸¤ä¸ªå—æ¯�组æˆ�。
ç¬¬ä¸€ä¸ªå—æ¯�å�¯ä»¥ä¸º
'-'(这表示命令将读å�–å…¶æ ‡å‡†è¾“å…¥),'f'(这表示命令将读å�–在命令行ä¸ç»™å®šçš„æ–‡ä»¶) 或'.'(这表示命令将ä¸�读å�–è¾“å…¥ï¼Œå› è€Œå¿…é¡»æ”¾åœ¨å‰�é�¢ã€‚)ç±»ä¼¼åœ°ï¼Œç¬¬äºŒä¸ªå—æ¯�å�¯ä»¥ä¸º
'-'(è¿™è¡¨ç¤ºå‘½ä»¤å°†å†™å…¥åˆ°æ ‡å‡†è¾“å‡º),'f'(这表示命令将写入在命令行ä¸ç»™å®šçš„æ–‡ä»¶) 或'.'(这表示命令将ä¸�æ‰§è¡Œå†™å…¥ï¼Œå› è€Œå¿…é¡»æ”¾åœ¨æœ«å°¾ã€‚)
- Template.prepend(cmd, kind)¶
åœ¨å¼€å¤´æ·»åŠ ä¸€ä¸ªæ–°çš„åŠ¨ä½œã€‚ 请å�‚阅
append()获�相应�数的说明。
- Template.open(file, mode)¶
返回一个文件型对象,打开到 file,但是将从管�读�或写入。 请注��能给出
'r','w'ä¸çš„一个。
- Template.copy(infile, outfile)¶
通过管�将 infile 拷�到 outfile。