Python 写了一个批量生成文件夹和批量重命名的工具

演示

功能

1. 可以读取excel内容,使用excel单元格内容进行新建文件夹,和文件夹重命名

2. 可以自定义重命名

3. 等

代码

import os
from pathlib import Path
import xlwings as xw tipStr = '输入工作路径'
tipStr1 = '输入excel名称' # 主界面
def mainWindow():
os.system('cls')
print('1. 新建文件夹')
print('2. 文件夹重命名')
print('0. 退出')
print('输入命令号')
num = input()
if('1' == num or '2' == num):
return int(num)
elif '0' == num:
return 0
else:
return -1 # 最大最小值数字 def getMinMaxNum():
print('输入最小值')
min = 0
while True:
min = input()
# 判断是否是写数字
if min.isdigit():
min = int(min)
if -1 < min and 999 >= min:
break
else:
print('请输入0-999的数字')
continue
else:
print('请输入数字')
continue print('输入最大值')
max = 0
while True:
max = input()
if max.isdigit():
max = int(max)
if -1 < max and 999 >= max:
break
else:
print('请输入0-999的数字')
continue
else:
print('请输入数字')
continue
return min, max # 获取excel内容 def getExcelContent(column):
path = os.getcwd() print(tipStr1)
excelPath = ''
flag = 0
while True:
# 拼接excel路径
excelPath = path + '\\' + input()
if not excelPath.endswith('.xlsx'):
excelPath = excelPath + ".xlsx"
# 判断文件是否存在
if Path(excelPath).exists():
break
else:
if 3 <= flag:
input('错误次数超过3次,重新开始,回车继续')
return False, []
print('文件不存在,重新输入')
flag = flag + 1
# 指定不显示地打开Excel,读取Excel文件
app = xw.App(visible=False, add_book=False)
wb = app.books.open(excelPath) # 打开Excel文件
sheet = wb.sheets[0] # 选择第0个表单
# 获取表行数
sheetInfo = sheet.used_range
maxRow = sheetInfo.last_cell.row
# print('行数:', maxRow)
nameList = []
# 遍历行,保存行数据
for row in range(1, maxRow + 1):
value = sheet.range(str(column)+str(row)).value
if isinstance(value, float):
nameList.append(str(int(value)))
else:
nameList.append(value) # 关闭当前工作簿
wb.close()
# 退出excel程序
app.quit() return True, nameList # 获取起始数字 def getStartNum():
# 获取起始数字
startNum = 0
while True:
print('输入起始数字')
startNum = input()
if not startNum.isdigit():
input("请输入数字,回车继续")
continue
break
# 转换为int类型
startNum = int(startNum)
return startNum # 新建文件夹
def newDir():
# 插入标签
os.system('cls')
print('1. excel\'A\'新建 (说明:将从指定的excel\'A\'列读取内容,读取的单元格内容做为文件夹名称)')
print('2. 0-999序号新建 (说明:将新建指定序列的文件夹)')
print('3. xxx0-999前缀加序号新建 (例:我很帅1,我很帅2...)')
print('4. 0-999xxx序号加后缀新建 (例:1我很帅,2我很帅...)')
print('输入命令号')
order = input()
if '1' == order:
os.system('cls')
path = os.getcwd() state, nameList = getExcelContent('A')
if not state:
return
for name in nameList:
dirName = path + '\\' + name
if Path(dirName).exists():
continue
os.mkdir(dirName)
print('创建目录【%s】成功' % dirName)
input("回车继续")
elif '2' == order:
os.system('cls')
min, max = getMinMaxNum()
print('输入最小值')
for index in range(min, max + 1):
path = os.getcwd()
if Path(path + '\\' + str(index)).exists():
continue
os.mkdir(path + '\\' + str(index))
elif '3' == order:
os.system('cls')
print('输入前缀')
prefix = input()
# 获取最大最小值
min, max = getMinMaxNum()
# 创建文件夹
for index in range(min, max+1):
path = os.getcwd()
dirName = path + '\\' + prefix + str(index)
if Path(dirName).exists():
continue
os.mkdir(dirName)
elif '4' == order:
os.system('cls')
min, max = getMinMaxNum()
print('输入后缀')
stufix = input()
for index in range(min, max):
path = os.getcwd()
dirName = path + '\\' + str(index) + stufix
if Path(dirName).exists():
continue
os.mkdir(dirName)
else:
input('无效的命令,回车继续') # 文件夹重命名
def reName():
os.system('cls')
print('1. 从excel\'A\'列重命名')
print('2. 数字顺序重命名')
print('3. 前缀加数字顺序重命名')
print('4. 数字加后缀顺序重命名')
print('输入命令号')
order = input() if '1' == order:
# 当前路径
currentPath = os.getcwd()
# 获取所有目录
dirList = []
for item in os.listdir(currentPath):
if os.path.isdir(currentPath + '\\' + item):
dirList.append(currentPath + '\\' + item) # 判断当前文件夹有没有文件夹
if 0 == len(dirList):
input('当前目录不存在文件夹,请先创建')
return
# 获取excel内容
state, nameList = getExcelContent('A')
if not state:
return # 遍历所有文件夹进行重命名
for index in range(0, len(nameList)):
if index > len(dirList) - 1:
input('所有文件夹重命名完毕,多余excel内容将不执行,回车继续')
break
oldDirName = dirList[index]
newDirName = currentPath + '\\' + nameList[index]
os.rename(oldDirName, newDirName) elif '2' == order:
# 当前路径
currentPath = os.getcwd()
# 获取所有目录
dirList = []
for item in os.listdir(currentPath):
if os.path.isdir(currentPath + '\\' + item):
dirList.append(currentPath + '\\' + item) # 判断当前文件夹有没有文件夹
if 0 == len(dirList):
input('当前目录不存在文件夹,请先创建')
return # 获取起始数字
startNum = getStartNum() # 重命名
for dirName in dirList:
numb = startNum
newDirName = currentPath + '\\' + str(numb)
if Path(newDirName).exists():
input('起始数字文件夹已存在,请尝试其它,回车继续')
break
os.rename(dirName, newDirName)
startNum = startNum + 1 elif '3' == order:
# 当前路径
currentPath = os.getcwd()
# 获取所有目录
dirList = []
for item in os.listdir(currentPath):
if os.path.isdir(currentPath + '\\' + item):
dirList.append(currentPath + '\\' + item) # 判断当前文件夹有没有文件夹
if 0 == len(dirList):
input('当前目录不存在文件夹,请先创建')
return # 获取前缀
print('输入前缀')
preFix = input() # 获取起始数字
startNum = getStartNum() for name in dirList:
num = startNum
newDirName = currentPath + '\\' + preFix + str(num)
os.rename(name, newDirName)
startNum = startNum + 1 elif '4' == order:
# 当前路径
currentPath = os.getcwd()
# 获取所有目录
dirList = []
for item in os.listdir(currentPath):
if os.path.isdir(currentPath + '\\' + item):
dirList.append(currentPath + '\\' + item) # 判断当前文件夹有没有文件夹
if 0 == len(dirList):
input('当前目录不存在文件夹,请先创建')
return # 获取起始数字
startNum = getStartNum() # 获取后缀
print('输入后缀')
stufix = input() for name in dirList:
num = startNum
newDirName = currentPath + '\\' + str(num) + stufix
os.rename(name, newDirName)
startNum = startNum + 1 else:
input('无效的命令,回车继续') if __name__ == "__main__":
while(True):
num = mainWindow()
if -1 == num:
continue
elif 0 == num:
print('byebye and see you lala')
input('任意键退出')
break
elif 1 == num:
newDir()
elif 2 == num:
reName()

下载

https://download.csdn.net/download/ShiShiSoLo/13767713

Python 写了一个批量生成文件夹和批量重命名的工具的更多相关文章

  1. R8—批量生成文件夹,批量读取文件夹名称+R文件管理系统操作函数

    一. 批量生成文件夹,批量读取文件夹名称 今日,工作中遇到这样一个问题:boss给我们提供了200多家公司的ID代码(如6007.7920等),需要根据这些ID号去搜索下载新闻,从而将下载到的新闻存到 ...

  2. windows下批量生成文件夹

    在windows环境下如果想要批量生成文件夹: 1.创建一个记事本文件 2.首行大写MD 3.后面加上你想创建的文件夹的名字,每个名字之间有空格 4.退出记事本并保存 5.将记事本文件后缀改为bat文 ...

  3. 批量生成文件夹内所有文件md5

    说明:md5批量生成批处理脚本,无需安装任何软件,直接调用系统文件进行生成,简单基于windows命令编写了一个批量生成md5值的脚本. 使用说明:新建文本文档,命名为get_md5.bat,直接将代 ...

  4. python将指定目录下的所有文件夹用随机数重命名

    我的目的在于打乱数据顺序,便于GAN训练: import random import os path = 'hunhe_7' #目标文件夹 listname = os.listdir(path) #遍 ...

  5. [Batch 脚本] 批量生成文件夹

    @echo off echo start set time=30000 echo %time% for /l %%i in (1,1, %time%) do ( echo %%i% md " ...

  6. 「懒惰的美德」我用 python 写了个自动生成给文档生成索引的脚本

    我用 python 写了一个自动生成索引的脚本 简介:为了刷算法题,建了一个 GitHub仓库:PiperLiu / ACMOI_Journey,记录自己的刷题轨迹,并总结一下方法.心得.想到一个需求 ...

  7. 用python脚本通过excel生成文件夹树结构

    大概这样写标题是对的吧... 目标: 通过excel目录结构文档生成文件夹树结构. 也就是: 通过下面的excel

  8. python之对指定目录文件夹的批量重命名

    python之对指定目录文件夹的批量重命名 import os,shutil,string dir = "/Users/lee0oo0/Documents/python/test" ...

  9. 使用JFileChooser实现在指定文件夹下批量添加根据“数字型样式”或“非数字型样式”命令的文件夹

    2018-11-05 20:57:00开始写 Folder.java类 import javax.swing.JFrame; import javax.swing.JPanel; import jav ...

随机推荐

  1. Java之 函数(五)

    第一部分 : IDEA开发工具 1.数组 1.1 数组介绍 ​ 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致. 1.2 数组的定义格式 1.2.1 第一种格式 ​ 数据类型[] 数组名 ...

  2. PHP获取数组中重复值的键值

    $array = array ( 0=>'a', 1=>'b', 2=>'a', 5=>'b', 6=>'c', 40=>'d' ); $keyarr =[];$r ...

  3. python的pip安装超时问题解决

    使用pip install 安装python第三方库时出现了如下错误:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionP ...

  4. 【线程池】core与非core

    core和非core的区别: 当线程数小于core size时我们取task是这么取得: 小于时用poll并设置超时时间,否则用take阻塞等待 第二条件就出去了 没有拿到task的worker线程会 ...

  5. Netty源码解析 -- 内存池与PoolArena

    我们知道,Netty使用直接内存实现Netty零拷贝以提升性能, 但直接内存的创建和释放可能需要涉及系统调用,是比较昂贵的操作,如果每个请求都创建和释放一个直接内存,那性能肯定是不能满足要求的. 这时 ...

  6. Memtest在CentOS下的使用方法。

    #memtest,指定测试大小范围248G,指定测试1次 nohup memtester 248G 1 > mem218.log&

  7. Bootstrap Blazor 组件介绍 Table (三)列数据格式功能介绍

    Bootstrap Blazor 是一套企业级 UI 组件库,适配移动端支持各种主流浏览器,已经在多个交付项目中使用.通过本套组件可以大大缩短开发周期,节约开发成本.目前已经开发.封装了 70 多个组 ...

  8. JS代码下载百度文库纯文本文档

    下载百度文库纯文本文档流程 1.按 F12 或  Ctrl+Shift+I打开后台(或点击右键,在点击检查)[建议使用谷歌浏览器] 2.切换到控制台,赋值粘贴以下js代码,回车后,浏览器将自动下载保存 ...

  9. 第11.21节 Python 中正则表达式的其他扩展功能

    一. 引言 在<第11.17节 Python 正则表达式扩展功能:命名组功能及组的反向引用>中老猿介绍了组匹配模式的命名组功能及引用组功能,这两者都是正则表达式的扩展功能,其实在re模块中 ...

  10. Panda Global发现,FATF关于区块链金融又发声

    众所周知,FATF是一个由G7成员国在1989年在法国巴黎所成立的,具有国际反洗钱和反恐融资领域最具权威性的国际组织,全称叫金融行动特别工作组.2007年,中国而加入了该组织,迄今为止FATF成员已涵 ...