我想创建包含组合目录名称和原始时间戳的tar文件。有这么多文件需要以上述格式进行转换。
对于下面的目录,我希望新的tar文件名为rs_jul_29_2016.tar
drwxr-xr-x 3 root root 4096 Jul 29 2016 rs
答案 0 :(得分:0)
使用os.stat()
获取上次修改时间,并使用datetime
将其转换为所需的字符串时间戳。
import os
from datetime import datetime
filename = 'rs'
st = os.stat(filename)
modified_time = datetime.fromtimestamp(st.st_mtime)
tar_filename = modified_time.strftime('{}_%b_%m_%Y.tar'.format(filename))
答案 1 :(得分:0)
嗯,你把Python和shell / sh都标记为关键字,所以这里有两个。
import os
import tarfile
dst = '/destination/directory/path/'
src = '/source/directory/path/'
# list current date
heute = dt.date.today().strftime('%Y%m%d_')
# assuming only have directories in current directory
for d in os.listdir(src):
# define .tar destination filename
dst_fn = dst + heute + d + '.tar'
with tarfile.open(dst_fn, 'w') as fid:
fid.add(d)
tmstamp=$(date '%Y%m%d')
cd directory
for dir in */
do
base=$(basename "$dir")
tar -cf "${tmstamp}_${base}.tar" "$dir"
done
这两个都应该为每个感兴趣的目录创建一个tar文件。我的建议:创建一个虚拟目录并在完成之前对每个目录进行测试,以确保...