要使用python使用UNIX命令管道机制。在命令流水线中,序列从一个文件转换为另一个文件。
该模块使用/ bin / sh命令行。因此,我们需要os.system()和os.popen()方法。
要使用此模块,我们应该使用-导入它
import pipes
管道持有Template类-
此类基本上是管道的抽象。它有不同的方法。这些如下。
此方法用于将管道模板还原到其初始位置。
此方法用于创建另一个新的相同模板对象。
此方法用于调试过程。当该标志为true时,打开调试模式。启用时,将在执行期间打印命令。
此方法用于最后插入新任务。该命令必须是bourne shell命令。kind变量由两个字符组成。
对于第一个字母,它意味着-
序号 | 字符和描述 |
---|---|
1 | '–' 命令读取标准输入 |
2 | 'F' 命令将在命令行上读取给定的文件 |
3 | '。' 命令不读取任何输入。因此它将处于第一位置。 |
对于第二个字母,它表示。
序号 | 字符和描述 |
---|---|
1 | '–' 命令写入标准输出 |
2 | 'F' 命令将在命令行上写入文件 |
3 | '。' 命令不写任何输出。因此它将位于最后一个位置。 |
此方法用于在开始时插入新任务。该命令必须是bourne shell命令。它类似于该append()
方法。
此方法用于打开要读取或写入的文件。但是读或写操作是由管道完成的。
该方法用于通过管道从infile复制到outfile。
import pipes my_template = pipes.Template() my_template.append('tr a-z A-Z', '--') my_template.prepend('echo Python Programming', '--') #Prepend the item into queue my_template.append('rev', '--') my_template.debug(True) my_file = my_template.open('test_file', 'w') my_file.close() content = open('test_file').read() print(content)
输出结果
$ python3 example.py echo Python Programming | tr a-z A-Z | rev >test_file + rev + tr a-z A-Z + echo Python Programming GNIMMARGORP NOHTYP