Python教程

使用python批量获取文件名,并新建文件、目录

本文主要是介绍使用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 if f.endswith(".hxx")]
        #仅抓取子目录中的.hxx文件
        
        for files in filenames:
            fm.write('#include < '+files+'>'+'\n')
            #以需要格式写入文件,最后得到 .h 文件可在vs中直接加入项目中

	fm.close()

3.最后

只是为了减少一点工作量,就找了一找。对于python一点不熟悉,有错的地方请大佬们请喷。如果有正好和我情况类似,需要抓取存为头文件的同学,可以参考一下这段代码,少浪费点时间。

这篇关于使用python批量获取文件名,并新建文件、目录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!