Python 2.7将变量传递给子进程命令行

时间:2017-03-29 13:56:35

标签: python bash python-2.7 shell variables

我想使用变量并将其传递给shell命令行。问题是。我不知道怎么做。需要帮忙。

 def gauti():
    imti=tekstas.get("1.0", "end-1c")
    subprocess.call("grep -i 'imti' /var/log/syslog > logas.txt", shell=True)

而不是' imti'我需要一个将在python程序中提供的变量,以便在syslog文件中进行搜索。

1 个答案:

答案 0 :(得分:1)

使用字符串格式

subprocess.call("grep -i '{imti}' /var/log/syslog > logas.txt".format(imti=imti), 
                shell=True)

或使用所有必需部分将数组传递给call方法

logas = open('logas.txt', 'a+')
subprocess.call(['grep', '-i', imti, '/var/log/syslog'], stdout=logas)