脚本宝典收集整理的这篇文章主要介绍了Python批量生成文件夹树,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@原文参考 Excel的结构是这样的,规律可以自己看看
我的代码是这样的,和参考示例差不多:
# coding:utf-8
import xlrd
import os
DIRPATH = os.path.dirname(os.path.realpath(__file__)) #读取当前地址
excelFILE = r".test.xls" #指定Excel路径
# 获取数据列表
def get_data_by_xls(xlsfile):
'''通过xls文档得到数据列表'''
wb = xlrd.open_workbook(xlsfile)
table = wb.sheets()[0]
rows = table.nrows
for i in range(rows):
yield table.row_values(i)
#根据数据列表创建文件夹
def createDir(dirPath, xList):
'''应用递归,生成文档数'''
try:
rPath = os.path.join(dirPath, xList[0])
try:
os.mkdir(rPath)
rList = xList[1:]
print(os.path.join(DIRPATH,rList))
except:
rList = xList[1:]
createDir(rPath, rList)
except:
pass
#循环调用生成文件夹
for i in get_data_by_xls(excelFILE):
if i:
createDir(DIRPATH, i)
执行代码后生成的文件夹效果是这样的:
这里重点说一下和原博主不一样的地方
sys.argv[]
,这是个啥可以直接百度,我这里为了效果直接使用的 r".test.xls"
,相对引用;encodeText = lambda a: a.encode("gb2312")
转码后我打印了一下Excel中定义的文件夹名称,是这样的:但是实际上他应该是这样的:如果使用转码后再组装路径,会出现如下报错:TypeError: Can't mix strings and bytes in path components
拼装类型错误,因为项目当前地址是正确的中文,但是Excel中设定的路径通过转码后就不再是中文了,两个路径的数据格式不一样,拼装是不可能成功的,所以这里我去掉了原文中的转码操作。以上是脚本宝典为你收集整理的Python批量生成文件夹树全部内容,希望文章能够帮你解决Python批量生成文件夹树所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。