python中用于包装shell脚本的简单字符串连接

时间:2015-07-25 00:47:28

标签: python string shell

我正在尝试编写一个简单的python脚本,它包装一个shell命令并将其打印在一个文件中。 first_interface和second_interface是全局变量,可以具有eth0和eth1等值。

.to_owned()

但我得到的是

def createSetup(first_interface,second_interface):
    with open("setup","w") as f:
        f.write("#!/usr/bin/env python" + createHeader() +
"\n\
\n\
from subprocess import Popen, PIPE\n\
\n\
proc = Popen([\"ifconfig\"," +first_interface+ ",\"192.168.100.1\"], stdout=PIPE)\n\
\n\
")

我的预期输出是

from subprocess import Popen, PIPE

proc = Popen(["ifconfig",eth0,"192.168.100.1"], stdout=PIPE)

如何在全局变量(eth0)之前添加缺失的引号?

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为双引号丢失,但逗号看起来不错。

proc = Popen([\"ifconfig\",\"" +first_interface+ "\",\"192.168.100.1\"], stdout=PIPE)\n\

应该给你预期的输出。

注意添加first_interface之前和之后的转义双引号(\")。