如何用西里尔字符重命名文件,替换西里尔字母?

2024-05-18 06:34:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件夹,里面有100多个mp3文件。在

他们尊重这种模式:'000. MSK_NAME.mp3'

我有一个代码可以重命名我所有的文件,而且它几乎可以正常工作。 除此之外,当文件名有一些西里尔字符时,我遇到了一些麻烦。在

For example:

/音乐:

'''
011. ?????? - ? ?? ???? ??? ???? (Dima Flash.mp3
012. ?????? feat. ?????? ??????? - ???????? (DJ Shtopor & DJ Oleg Petroff Remix).mp3
018. MarQ Markuz - ?????? (DJ A.G. RnDeep Remix).mp3
026. Serebro - ?????????? (DJ Denis Rublev & DJ Anton Remix).mp3
027. Samoel feat. ?????? - ????????????? ????? (Oleg Perets & Alexey Galin Remix) .mp3
029. 5sta Family - ????? (Tony Sky Sax Remix) .mp3
030. ???? ???? - ????? ????? (Dj Jurbas Nu-Disco Mix ).mp3
036. Quest Pistols - ????? ????? (DJ Denis Rublev & DJ Timur Remix).mp3
037. Serebro - ?????????? (Mickey Martini & Alexx Slam Remix).mp3
041. ??? - ???? ? ???? (Tony Sky Remix).mp3
'''

重命名器.py:

^{pr2}$

或者我应该把“例外”部分改成这样:

except:
    renamed2 = translit(path, 'ru', reversed=True) 
    os.rename(path, renamed2)

所以。。。在

  • 我该如何创建没有这些西里尔字符的转换文件名?在

有人能告诉我使用^{}os.rename()方法创建有效文件名的正确方法吗?在

也许是这样的:

print translit(u"Лорем ипсум долор сит амет", 'ru', reversed=True)
# Output: Lorеm ipsum dolor sit amеt

但是在文件夹里循环文件的时候。。。在


Tags: 文件文件夹文件名dj字符mp3重命名denis
1条回答
网友
1楼 · 发布于 2024-05-18 06:34:20

回答:

再找了一下,我找到了以下解决方案:

  1. folder = "C:\\Users\\myuser\\Desktop\\musics"改为folder = u"C:\\Users\\myuser\\Desktop\\musics"

  2. 将以下代码添加到我的except:部分。

修复:

except:
    newName = translit(item, 'ru', reversed=True)
    renamed2 = folder  + "\\" + newName
    os.rename(path, renamed2)

代码:

^{pr2}$

相关问题 更多 >