读取当前路径下文件夹的名称并创建同名文件夹

功能:遍历待分析目录,读取目录下(一级)的所有文件夹名保存到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 遍历文件夹得到子一级文件夹列表

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值