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