功能:遍历待分析目录,读取目录下(一级)的所有文件夹名保存到txt文件,并在指定目录下创建同名的空文件夹
# -*- coding: utf-8 -*-
import os
#遍历指定目录,显示目录下的所有文件夹名
def traversalDir_FirstDir(path):
print "需要遍历的路径:", path
list = []
if (os.path.exists(path) != 1):
print "路径不存在"
else:
files = os.listdir(path) #获取指定路径 下一级 所有文件夹 和 文件 的名称
for file in files:
m = os.path.join(path,file)
# print m
if (os.path.isdir(m)): #检验给出的路径是否是一个目录
h = os.path.split(m)
# print h[1] #最后一个 '/' 作为分隔符,索引0 目录(路径),索引1 文件夹名
list.append(h[1])
#print list
return list
def text_save(content, filename, mode='a'):
#将数据列表中的数据保存到txt文件中
file = open(filename, mode)
for i in range(len(content)):
file.write(str(content[i]+'\n')) #自动换行
file.close()
def text_read(filename):
# 函数返回一个 文件夹名称的列表
try:
file = open(filename, 'r')
except IOError, msg:
return msg
content = file.readlines()
for i in range(len(content)):
content[i] = content[i][:len(content[i])-1] #自动屏蔽换行符
file.close()
return content #返回文件夹名称 列表
#在特定路径下创建 若干 指定名称的文件夹
def create_all_Dir(path, dirname):
num = 0
for name in dirname:
# print "文件夹名称",name
num = num + 1
name = str(num)+"_"+name
dirpath = os.path.join(path,name)
isExists=os.path.exists(dirpath)
# 判断路径是否存在
if not isExists:
os.makedirs(dirpath) # 不存在则创建目录
print dirpath+ '创建成功'
else:
#如果目录存在则不创建,并提示目录已存在
print dirpath + '目录已存在'
if __name__ == '__main__':
sourcepath = "F:\\code\test\test1"
targetpath = "F:\\NewDir"
filename = "F:\\dirname.txt"
content = traversalDir_FirstDir(sourcepath) # 返回 文件夹名字 列表
text_save(content, filename)
dirname = text_read(filename)
create_all_Dir(targetpath, dirname) #在指定路径 按照列表中 名字 创建文件夹
参考资料:
1. [python]使用txt保存和读取列表变量2. python 遍历文件夹得到子一级文件夹列表