使用basename批量删除某文件夹下所有文件的后缀

basename命令用于去掉文件名的目录和后缀(strip directory and suffix from filenames),对应的dirname命令用于截取目录

示例一        # 获取到最后文件名sort
[root@local ~]# basename /usr/bin/sort 
sort

示例二        # 去除文件名后缀
[root@local ~]# basename /usr/include/stdio.h .h 
stdio
[root@local ~]# basename /usr/include/stdio.h stdio.h 
stdio.h

示例三        # 去除文件名后缀方式的另外一种方法
[root@local ~]# basename -s .h /usr/include/stdio.h 
stdio

示例四        # 获取多个目录下的文件列表,以换行符\n为分隔
[root@local ~]# basename -a dir1/file1 dir2/file2
file1
file2

示例五        # 获取多个目录下的文件列表,以NUL为分隔
[root@local ~]# basename -a -z dir1/file1 dir2/file2
file1file2

批量获取某文件夹下所有json文件的文件名

find ./ -name '*.json'  | xargs basename -s .json > file.json
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Python内置的os模块和docx模块来实现该功能。 首先,需要使用os模块打开指定文件夹,并在此文件夹下创建一个同名文件夹: ```python import os folder_path = r"C:\path\to\folder" # 指定文件夹路径 folder_name = os.path.basename(folder_path) # 获取文件夹名称 new_folder_path = os.path.join(folder_path, folder_name) # 新建文件夹的路径为当前文件夹下的同名文件夹 if not os.path.exists(new_folder_path): # 如果新建文件夹不存在,则创建 os.makedirs(new_folder_path) ``` 接下来,可以使用docx模块批量将指定文件夹下的txt文件转word文件,并将word文件保存到新建的同名文件夹中: ```python import os import docx folder_path = r"C:\path\to\folder" # 指定文件夹路径 folder_name = os.path.basename(folder_path) # 获取文件夹名称 new_folder_path = os.path.join(folder_path, folder_name) # 新建文件夹的路径为当前文件夹下的同名文件夹 if not os.path.exists(new_folder_path): # 如果新建文件夹不存在,则创建 os.makedirs(new_folder_path) for file_name in os.listdir(folder_path): # 遍历指定文件夹下的所有文件 if file_name.endswith(".txt"): # 如果文件是txt文件 txt_file_path = os.path.join(folder_path, file_name) # 获取txt文件的路径 word_file_name = os.path.splitext(file_name)[0] + ".docx" # 新建word文件的名称为txt文件的名称加上后缀".docx" word_file_path = os.path.join(new_folder_path, word_file_name) # 新建word文件的路径为新建文件夹下的同名文件夹中 doc = docx.Document() # 创建一个空的word文档对象 with open(txt_file_path, "r", encoding="utf-8") as f: # 打开txt文件 lines = f.readlines() # 读取txt文件中的所有行 for line in lines: # 遍历txt文件中的每一行 doc.add_paragraph(line.strip()) # 在word文档对象中添加一个段落,内容为txt文件中的一行去掉首尾空白字符 doc.save(word_file_path) # 保存word文档对象为word文件 ``` 完整代码如下: ```python import os import docx folder_path = r"C:\path\to\folder" # 指定文件夹路径 folder_name = os.path.basename(folder_path) # 获取文件夹名称 new_folder_path = os.path.join(folder_path, folder_name) # 新建文件夹的路径为当前文件夹下的同名文件夹 if not os.path.exists(new_folder_path): # 如果新建文件夹不存在,则创建 os.makedirs(new_folder_path) for file_name in os.listdir(folder_path): # 遍历指定文件夹下的所有文件 if file_name.endswith(".txt"): # 如果文件是txt文件 txt_file_path = os.path.join(folder_path, file_name) # 获取txt文件的路径 word_file_name = os.path.splitext(file_name)[0] + ".docx" # 新建word文件的名称为txt文件的名称加上后缀".docx" word_file_path = os.path.join(new_folder_path, word_file_name) # 新建word文件的路径为新建文件夹下的同名文件夹中 doc = docx.Document() # 创建一个空的word文档对象 with open(txt_file_path, "r", encoding="utf-8") as f: # 打开txt文件 lines = f.readlines() # 读取txt文件中的所有行 for line in lines: # 遍历txt文件中的每一行 doc.add_paragraph(line.strip()) # 在word文档对象中添加一个段落,内容为txt文件中的一行去掉首尾空白字符 doc.save(word_file_path) # 保存word文档对象为word文件 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值