Python中的动态字符串操作

时间:2016-01-18 13:51:37

标签: python string command

我试图使用:

从python控制一个名为foo的外部程序
p = Popen(["foo"], stdin=PIPE, stdout=PIPE)
data_out = p.communicate(input_txt[0]+"\n"+input_txt[1]+"\n")[0]

input_txt是一个执行命令的列表。上面的代码执行程序foo的两个命令行:input_txt [0]和input_txt [1]并且工作得很好。但是,上面的代码在循环内运行,每次input_txt的大小都不同(例如,可能需要达到input_txt [14]或更多。如何动态构建上述命令,以便每次都有必要的input_txt条目的数量?

一个想法是尝试使用字符串操作构建命令,然后使用' exec'运行它,但我将如何去做?...除此之外,换行符' \ n'人物似乎使事情变得复杂。任何帮助将不胜感激。非常感谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

input_str = "\n".join(input_txt) + "\n"

这将加入input_txt的条目,将它们分隔为" \ n"并附加一个尾随" \ n"到最后。

然后您可以使用:

data_out = p.communicate(input_str)[0]
相关问题