如何更改目录中的文件名前缀。我需要将文件名前缀“ Mohammed”中的空格替换为“ Mohammed”。
目录:
C:\Mohammad_eng\Mohammad _eng-1.txt
C:\Mohammad_eng\Mohammad _eng-1.wav
C:\Mohammad_eng\Mohammad _eng-2.txt
C:\Mohammad_eng\Mohammad _eng-2.wav
C:\Mohammad_eng\Mohammad _eng-3.txt
C:\Mohammad_eng\Mohammad _eng-3.wav
C:\Mohammad_eng\Mohammad _eng-4.txt
C:\Mohammad_eng\Mohammad _eng-4.wav
C:\Mohammad_eng\Mohammad _eng-5.txt
C:\Mohammad_eng\Mohammad _eng-5.wav
C:\Mohammad_eng\Mohammad _eng-6.txt
C:\Mohammad_eng\Mohammad _eng-6.wav
C:\Mohammad_eng\Mohammad _eng-7.txt
C:\Mohammad_eng\Mohammad _eng-7.wav
C:\Mohammad_eng\Mohammad _eng-8.txt
C:\Mohammad_eng\Mohammad _eng-8.wav
C:\Mohammad_eng\Mohammad _eng-9.txt
C:\Mohammad_eng\Mohammad _eng-9.wav
C:\Mohammad_eng\Mohammad _eng-10.txt
C:\Mohammad_eng\Mohammad _eng-10.wav
我需要将它们更改为
C:\Mohammad_eng\Mohammad_eng-1.txt
C:\Mohammad_eng\Mohammad_eng-1.wav
C:\Mohammad_eng\Mohammad_eng-2.txt
C:\Mohammad_eng\Mohammad_eng-2.wav
C:\Mohammad_eng\Mohammad_eng-3.txt
C:\Mohammad_eng\Mohammad_eng-3.wav
C:\Mohammad_eng\Mohammad_eng-4.txt
C:\Mohammad_eng\Mohammad_eng-4.wav
C:\Mohammad_eng\Mohammad_eng-5.txt
C:\Mohammad_eng\Mohammad_eng-5.wav
C:\Mohammad_eng\Mohammad_eng-6.txt
C:\Mohammad_eng\Mohammad_eng-6.wav
C:\Mohammad_eng\Mohammad_eng-7.txt
C:\Mohammad_eng\Mohammad_eng-7.wav
C:\Mohammad_eng\Mohammad_eng-8.txt
C:\Mohammad_eng\Mohammad_eng-8.wav
C:\Mohammad_eng\Mohammad_eng-9.txt
C:\Mohammad_eng\Mohammad_eng-9.wav
C:\Mohammad_eng\Mohammad_eng-10.txt
C:\Mohammad_eng\Mohammad_eng-10.wav
如何实现? 注意:我是python脚本的新手。
答案 0 :(得分:1)
请参见How to rename a file using Python
# call this script from the respective folder
import os
import re
for filename in os.listdir('.'):
match = re.match(r'Mohammad (.*)', filename)
if match:
new_filename = 'Mohammad' + match.group(1)
os.rename(filename, new_filename)
这将遍历所有文件名和目录名称,并检查名称是否与指定的模式匹配。如果是这样,它将重命名文件,并删除空格。
答案 1 :(得分:1)
请使用以下经过测试和验证的文件,它将起作用。
import glob, os
print("File rename Sample- rename()")
def replace(dir, pattern, titlePattern, replaceFromStr, replaceToStr):
for pathAndFilename in glob.iglob(os.path.join(dir, pattern)):
title, ext = os.path.splitext(os.path.basename(pathAndFilename))
os.rename(pathAndFilename,
os.path.join(dir, titlePattern % title.replace(replaceFromStr, replaceToStr) + ext))
replace(r'C:\Mohammad_eng', r'*.wav', r'%s', "Mohammad ", "Mohammad")
replace(r'C:\Mohammad_eng', r'*.txt', r'%s', "Mohammad ", "Mohammad")