Python 2.7。使用linux命令将文本文件的名称另存为日期

时间:2017-04-02 07:28:03

标签: python linux python-2.7 shell file

我使用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)

1 个答案:

答案 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)