我使用subprocess()在python中执行linux shell命令,我想做的是读取文件,获取所需信息并将其保存在当前日期命名的文本文件中。阅读和所有工作都很好,但我不知道如何通过命名当前日期来保存文件。我尝试用子进程创建一个变量,但这没有成功。
def gauti():
imti=tekstas.get("1.0", "end-1c")
subprocess.call("data=$(date +"%d_%m_%Y")", shell=True)
subprocess.call("grep -i '{imti}' /var/log/syslog > $data.txt".format(imti=imti), shell=True)
答案 0 :(得分:2)
此代码永远不会起作用:
<sec:authorize access="hasAnyRole('$1','$2')">
因为每次都会创建一个新shell,所以$ data变量不会从第一个命令传递到第二个命令。你可以这样做:
subprocess.call("data=$(date +"%d_%m_%Y")", shell=True)
subprocess.call("grep -i '{imti}' /var/log/syslog > $data.txt".format(imti=imti), shell=True)