Python 中的动态字符串操作

Dynamic string operations in Python

我正在尝试从 python 控制一个名为 foo 的外部程序,使用:

p = Popen(["foo"], stdin=PIPE, stdout=PIPE)
data_out = p.communicate(input_txt[0]+"\n"+input_txt[1]+"\n")[0]

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

一个想法是尝试使用字符串操作构建命令,然后使用 'exec' 到 运行 它但是我将如何去做呢?......最重要的是换行符 '\n' 似乎使事情复杂化。任何帮助将不胜感激。非常感谢!

试试这个:

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

这将连接 input_txt 的条目,用“\n”分隔它们并在末尾附加尾随“\n”。

然后您可以使用:

data_out = p.communicate(input_str)[0]