python删除指定类型(或⾮指定)的⽂件实例详解
本⽂实例分析了python删除指定类型(或⾮指定)的⽂件⽤法。分享给⼤家供⼤家参考。具体如下:
如下,删除⽬录下⾮源码⽂件
import os
import string
def del_files(dir,topdown=True):
for root, dirs, files in os.walk(dir, topdown):
for name in files:
pathname = os.path.splitext(os.path.join(root, name))
if (pathname[1] != ".cpp" and pathname[1] != ".hpp" and pathname[1] != ".h"):
print(os.path.join(root,name))
dir = os.getcwd()
print(dir)
del_files(dir)
#will delete the self .py file after run -_-
#delete the empty directory recursively
以上功能,遍历⽂件夹也可以⽤函数 os.listdir (dirname) 。只不过其与os.walk(dir, topdown)的⽅式还是略有差异。listdir 是按命名规则,对⽂件夹和⽂件、统⼀采⽤深度优先搜索的⽅式,进⾏列举
⽽os.walk的标准例程⼀般是先遍历⽂件,后遍历⽂件夹。
python中文文档
学习要点:
os类的函数:
os.system()函数⽤来运⾏shell命令。
os.linesep字符串给出当前平台使⽤的⾏终⽌符。例如,Windows使⽤'\r\n',Linux使⽤'\n'⽽Mac使⽤'\r'。
与路径相关的os函数
os.listdir(dirname):列出dirname下的⽬录和⽂件
os.curdir:返回当前⽬录('.')
os.chdir(dirname):改变⼯作⽬录到dirname
os.path.isdir(name):判断name是不是⼀个⽬录,name不是⽬录就返回false
os.path.isfile(name):判断name是不是⼀个⽂件,不存在name也返回false
ists(name):判断是否存在⽂件或⽬录name
size(name):获得⽂件⼤⼩,如果name是⽬录返回0
os.path.abspath(name):获得绝对路径
path(path):规范path字符串形式
os.path.split(name):分割⽂件名与⽬录(事实上,如果你完全使⽤⽬录,它也会将最后⼀个⽬录作为⽂件名⽽分离,同时它不会判断⽂件或⽬录是否存在)
>>> os.path.split('/home/swaroop/byte/')
('/home/swaroop/byte/code', '')
os.path.splitext():分离⽂件名与扩展名
如修改⽂件类型,os.rename(os.path.join(root, name), pathname[0]+".cpp") pathname[0]为⽂件名,pathname[1]为扩展名os.path.join(path,name):连接⽬录与⽂件名或⽬录
os.path.basename(path):返回⽂件名
os.path.dirname(path):返回⽂件路径
os.walk返回三元组形式,相当于三元组列表,遍历path,返回⼀个对象,他的每个部分都是⼀个三元组,('⽬录x',[⽬录x下的⽬录list],⽬录x下⾯的⽂件)
string类型的数据,可以使⽤==, !=等运算符
多参考python帮助⽂档,很强⼤。
希望本⽂所述对⼤家的Python程序设计有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。