我想使用一个变量并将其传递给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文件中进行搜索。

最佳答案

使用字符串格式

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)

09-07 05:53