【问题标题】:Python 2.7. Save text file's name as date with linux command蟒蛇 2.7。使用linux命令将文本文件的名称保存为日期
【发布时间】:2017-08-27 04:55:12
【问题描述】:

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

【问题讨论】:

  • “我尝试用子进程创建一个变量,但没有成功”。请出示您的代码。
  • 已添加。忘记了

标签: python linux python-2.7 shell file


【解决方案1】:

此代码将永远无法工作:

subprocess.call("data=$(date +"%d_%m_%Y")", shell=True)
subprocess.call("grep -i '{imti}' /var/log/syslog > $data.txt".format(imti=imti), shell=True)

因为每次都会创建一个新的 shell,所以你的 $data 变量不会从第一个命令传递到第二个命令。你可以这样做:

subprocess.check_call("grep -i '{}' /var/log/syslog > $(date +%d_%m_%Y.txt)".format(imti), shell=True)

【讨论】:

    猜你喜欢
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多