我试图使用:
从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'人物似乎使事情变得复杂。任何帮助将不胜感激。非常感谢!
答案 0 :(得分:1)
试试这个:
input_str = "\n".join(input_txt) + "\n"
这将加入input_txt
的条目,将它们分隔为" \ n"并附加一个尾随" \ n"到最后。
然后您可以使用:
data_out = p.communicate(input_str)[0]