使⽤python批量获取⽂件名,并新建⽂件、⽬录
使⽤python批量获取⽂件名,并新建⽂件、⽬录。
0.前⾔
最近在学习OCC开源引擎,编译好之后,需要⽤到其头⽂件相关信息。由于⽂件数量太多了,共计7000+头⽂件,考虑python抓取
应⽤背景:OCC的头⽂件是以类的形式组织的,其中包括.hxx、.lxx、Files,hxx⽂件是⽬标⽂件。每个类⽂件夹中⽂件数量不等,最多约300+⽂件。
1.⽤到的python函数
os.walk()
list.append()
os.mkdir()
file=open()
走进新时代歌词
赵温柔延禧攻略我没学过python,所以也不知道详细内容。仅仅只是花俩⼩时⼀,再复制粘贴,改造⼀下得到的⼀串代码
有兴趣的请⾃⾏深⼊了解。
2.代码、注释以及⼀点注意事项
import os
root = 'E:\\...\\...\\src'
#需要抓取的⽂件根⽬录
def getdir(root):
bull = []
#这个bull是随便打的,因为dir好像是保留词。所抓取的⼦⽬录名称list
for parent,dirnames,filenames in os.walk(root):
for dirname in dirnames:
bull.append(os.path.join(dirname))
return bull
谷嘉诚疑似分手bull = getdir(root)
print(bull)
#检查有没有错,打印出来看看
for i in bull:
path=root+'\\'+i
#遍历⼦⽬录
print(path)
#检查有没有错,打印出来看看
os.mkdir("E:\\...\\...\\base\\"+i)凤现在的照片
#这句为新建⼦⽬录,要求“”内为已存在⽬录,不⽤分⽬录可注释掉
fm=open('E:\\...\\...\\base\\'+i+'\\'+i+'.h', 'w+')
#这句是在新建的⼦⽬录下,新建⼀头⽂件,头⽂件名称即为该类的名称
#如果不要分⽬录,请修改路径,不要将抓取的⼦⽬录⽂件夹名称加⼊路径
for parent,dirnames,filenames in os.walk(path):
filenames[:] = [f for f in filenames dswith(".hxx")]申冰退赛
#仅抓取⼦⽬录中的.hxx⽂件
for files in filenames:
张掖景点fm.write('#include < '+files+'>'+'\n')
#以需要格式写⼊⽂件,最后得到 .h ⽂件可在vs中直接加⼊项⽬中
fm.close()
3.最后
只是为了减少⼀点⼯作量,就了⼀。对于python⼀点不熟悉,有错的地⽅请⼤佬们请喷。如果有正好和我情况类似,需要抓取存为头⽂件的同学,可以参考⼀下这段代码,少浪费点时间。