我这里有这个代码,它接受这个文本文件中引用的文件的时间戳,它按预期工作并输出时间戳。
如果该文件上的时间戳已更改,我希望将这些文件的副本复制到备份位置。
复制文件的代码如下:
#!/usr/bin/python3
import shutil
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-c', default="config.dat", help='file to read the config from')
args = parser.parse_args()
if args.c:
with open(args.c, 'r') as file:
dest = '/home/admin/backup'
filelist = file.read().split('\n')
for file1 in filelist:
if file1:
shutil.copy(file1.strip(), dest)
else:
print("exiting due to error")
if args.l:
f = open('config.dat','r')
list_contents = f.read()
print(list_contents)
f.close()
#Take all timestamps from config.dat
import os
import datetime
f = open('config.dat','r')
list_contents = f.read().split('\n')
f.close()
for a in list_contents:
b = os.path.getmtime(a)
print(datetime.datetime.fromtimestamp(b))
配置文件:
file1
file2
答案 0 :(得分:0)
您可以使用(i - 1) + (((i - 1) mod 8) div 7) * 8
or
(i - 1) + (((i + 7) mod 8) div 7) * 8
to avoid potential problems with negative dividend modulo in some languages
作为缓存,文件名作为密钥,时间戳是数据。由于您的列表内容只是文件名,因此您需要获取时间戳:
dict
然后,当您再次读取文件时,可以比较时间戳,如果它们不同,您可以保存它。 cache = dict((file, os.path.getmtime(file)) for file in list_content)