我正在比较来自远程计算机的 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 ficheroTraceback (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
1 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
无需调用 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
添加回答
举报
0/150
提交
取消