首页 > 编程语言 >指定文件夹内删下划线程序(输入数字为需要保留的下划线)

指定文件夹内删下划线程序(输入数字为需要保留的下划线)

时间:2023-10-27 10:24:26浏览次数:41  
标签:underscore name 文件夹 file path input 输入 下划线

import os

def rename_files_in_directory(directory_path, underscore_input):
try:
# 如果是范围输入,则解析范围的结束数字
if '-' in underscore_input:
start, end = map(int, underscore_input.split('-'))
underscore_count = end
else:
underscore_count = int(underscore_input)

# 获取文件夹中的所有文件
file_list = os.listdir(directory_path)

for file_name in file_list:
new_name = generate_new_name(file_name, underscore_count)
os.rename(os.path.join(directory_path, file_name), os.path.join(directory_path, new_name))
print(f"Renamed {file_name} to {new_name}")

except Exception as e:
print(f"Error: {e}")

def generate_new_name(file_name, underscore_count):
# 将文件名分割成部分
parts = file_name.split('_')

# 保留指定数量的下划线,其他的替换为空格
if len(parts) - 1 <= underscore_count:
return file_name
else:
# 保留前面的下划线部分
retained = '_'.join(parts[:underscore_count+1])
# 将后面的部分中的下划线全部替换为空格
replaced_with_space = ' '.join(parts[underscore_count+1:])
return f"{retained} {replaced_with_space}"

if __name__ == '__main__':
directory_path = input("请输入文件夹地址: ").strip()
underscore_input = input("请输入你想保留的下划线数量或范围 (例如: 1 或 1-3): ").strip()

rename_files_in_directory(directory_path, underscore_input)

标签:underscore,name,文件夹,file,path,input,输入,下划线
From: https://www.cnblogs.com/zly324/p/17791145.html

相关文章

  • Windows文件夹加密
    第一步:创建加密文件电脑本地新建一个文件,把后缀修改为.bat,右键编辑这个文件,将以下代码拷贝进去并保存:   @echooff::关掉无关显示chcp65001CLS::清除屏幕闲杂信息titlelocktool::命名批处理标题ifEXIST"ControlPanel.{21EC2020-3AEA-1069-A2DD-08002B30309D......
  • 23.10.25(前端页面输入框的各种操作1)
    <tr><%--限制必须输入,学号限制位数、前四位必须是2023,性别限制男或女,专业用下拉框--%><th>姓名</th><inputtype="text"name="name"required><th>学号</th><inputtype="text"name="number"requ......
  • 23.10.25(前端页面输入框的各种操作2)
    <scripttype="text/javascript"><!--全选的方法--><--复选框的定义方法以及全选方法-->functionselectAll(){vars=document.getElementsByName("like");for(vari=0;......
  • 获取 el-cascader 的输入值
    问题场景使用el-cascader级联选择器时,设置filterable可搜索选项。但怎样获取输入框的输入值呢?解决官方文档给出了如下事件:其中change事件获取到的是选中的选项的值,如果输入值不符合选项值(即没有选中),则无法获取输入值。那么为了获取到输入值,就只有用blur事件,即失去焦......
  • 由于正则表达式的匹配顺序,这个例子可能并不会按照你期望的方式工作。正则表达式会从左
    在Python中,你可以使用re模块的sub函数来替换字符串中的特定字符或字符串。以下是一个示例,它将字符串中的'a'、'b'和'ab'替换为'c':importres='abracadabra's=re.sub('a|b|ab','c',s)print(s)#打印替换后的字符串在这个例子中,'a|b|ab'是一个正则表......
  • Windows server系统共享文件夹访问一直提示密码错误
    1、打开运行窗口输入“gpedit.msc”后点击确定2、打开计算机配置>>Windows设置>>安全设置>>本地策略>>安全选项在右侧的项目中找到“网络安全:Lan管理器身份验证级别”,打开后选择“发送LM和NTLM响应(&)”网络访问:本地账户的共享和安全模型”,选择“经典=对本地用户进行身份验......
  • Python判断多个文件夹的文件夹名是否包含“分公司”或“营销中心”怎么处理?(方法二)
    大家好,我是皮皮。一、前言前几天在Python最强王者群【哎呦喂 是豆子~】问了一个Python自动化办公的问题,一起来看看吧。大佬们请问下 判断多个文件夹的文件夹名是否包含“分公司”或“营销中心” 有没有什么简便的办法可以实现呀?二、实现过程这里【东哥】给了两个示例代码,实现......
  • 基于Python的 如何检查字符串输入是否为数字
    一概念这种有很多常用的方法,这里只介绍一种常用的方法是使用正则表达式来匹配数字的模式。通过定义一个匹配数字的正则表达式,然后使用re模块中的search()方法来进行匹配。二例子:下面是一个简单的例子:#示例代码5importreinput_str=input("请输入一个字符......
  • 从每个文件夹中复制20个文件到新的文件夹中
    情况:有个A文件夹,里面有几十个文件夹,每个文件中又有几千中图片,现在想从每个文件夹中提取20个图片作为测试集,复制到B文件夹中,B文件夹中的结构和A相同,B中也是有几十个文件夹,每个文件夹中有20张图片 操作:第一步,在B中创建和A中一样的文件夹lsA|xargs-i-tmakdirB/{}第二......
  • Win11更新后输入法候选字词不是<>大于/小于号,.逗号/句号
    Win11更新后,会有一些选项恢复为默认,又需要重新设置。一、设置候选字词用大小于号1.在桌面右下角输入法上--右键--按键配置2.将逗号/句号前打勾就可以了二、如果点击按键配置后,没有上图的按键选项。1.点击按键配置后,只显示语言和区域,说明是没有默认的输入法......