猿问

比较两个文件的日期 Python

我正在比较来自远程计算机的 Python 中的两个文件的日期(如果从今天到昨天的最后修改时间是 24 小时):


我正在尝试通过这种方式:


commandcomp = 'echo `stat -c%Y /var/tmp/check_ipsleft/today.txt /var/tmp/check_ipsleft/yesterday.txt` | bc'

outputcomp = check_output(commandcomp, shell=True)

在本地计算机中,此命令有效:


`echo `stat -c%Y /var/tmp/check_ipsleft/today.txt /var/tmp/check_ipsleft/yesterday.txt` | bc` 



/bin/sh: -c: línea 0: EOF inesperado mientras se buscaba un ``' coincidente

/bin/sh: -c: línea 1: error sintáctico: no se esperaba el final del fichero

Traceback (most recent call last):

  File "checkipleft.py", line 46, in <module>

    outputcomp = check_output(commandcomp, shell=True)

  File "/opt/python-dsmc/lib/python2.7/subprocess.py", line 573, in check_output

    raise CalledProcessError(retcode, cmd, output=output)

subprocess.CalledProcessError: Command 'echo "stat -c%Y `/var/tmp/check_ipsleft/today.txt" - "stat /var/tmp/check_ipsleft/yesterday.txt" | bc' returned non-zero exit status 1


紫衣仙女
浏览 162回答 1
1回答

慕的地10843

无需调用 shell 命令即可检索文件的修改时间:os.stat(filename)提供一个名称元组,其中包含有关文件的所有类型的元数据:os.stat_result(st_mode=33204, st_ino=33035339, st_dev=64769, st_nlink=1, st_uid=1000, st_gid=1000, st_size=589825, st_atime=1597670243, st_mtime=1597662878, st_ctime=1597670176)如文档所述,该st_mtime字段包含最近内容修改的时间作为 UNIX 时间戳。您可以用它进行任何类型的计算,例如:os.stat('1.txt').st_mtime - os.stat('2.txt').st_mtime
随时随地看视频慕课网APP

相关分类

Python
我要回答