我正在比較來自遠程計算機的 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條經(jīng)驗 獲得超8個贊
無需調用 shell 命令即可檢索文件的修改時間:
os.stat(filename)
提供一個名稱元組,其中包含有關文件的所有類型的元數(shù)據(jù):
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
提交
取消