# remove old backup file, if any
os.remove(back)
# rename original to backup...
os.rename(file, back) 文件的属性
stat函数可以用来获取一个存在文件的信息,它返回一个类元组对象(stat_result对象,
包含 10 个元素), 依次是st_mode (权限模式), st_ino (inodenumber), st_dev
(device), st_nlink (number of hard links), st_uid (所有者用户 ID), st_gid (所有者所在组 ID ), st_size (文件大小,
字节), st_atime (最近一次访问时间), st_mtime (最近修改时间), st_ctime
(平台相关; Unix下的最近一次元数据/metadata修改时间,
或者 Windows 下的创建时间) 。
使用os
模块修改文件的权限和时间戳:chmod
和utime 函数
import stat, time
# copy mode and timestamp
st = os.stat(infile)
os.chmod(outfile, stat.S_IMODE(st[stat.ST_MODE]))
os.utime(outfile, (st[stat.ST_ATIME], st[stat.ST_MTIME]))
2. 处理目录
使用os
列出目录下的文件:listdir
for file in os.listdir("samples"):
print file
使用os
模块改变当前工作目录:getcwd和 chdir
函数
# where are we?
cwd = os.getcwd() #'/home/trade'
# go down
os.chdir("tinit") #os.getcwd()='/home/trade/tinit'
# go back up
os.chdir(os.pardir) #os.getcwd()='/home/trade'
removedirs函数会删除所给路径中最后一个目录下所有的空目录. 而mkdir和rmdir函数只能处理单个目录级.
使用os
模块创建/删除多个目录级:makedirs和removedirs
函数
os.makedirs("test/multiple/levels")
# remove the file
os.remove("test/multiple/levels/file")
# and all empty directories above it
os.removedirs("test/multiple/levels")