我想使用一个变量并将其传递给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)