gpt4 book ai didi

Python - 无法重命名文件名中包含特殊字符的文件

转载 作者:太空宇宙 更新时间:2023-11-04 06:14:39 25 4
gpt4 key购买 nike

我有一堆 mp3 文件,它们在第 0 个索引中以某种方式具有特殊字符。所以文件名看起来像这样 - ▶ Alone Tonight - Radio Edit - Above & Beyond .mp3

我希望能够解决这个问题。在 python 中,当我列出文件时,它显示如下:

'? Alone Tonight - Radio Edit - Above & Beyond .mp3'

我想做的就是用 [2:len(filename)] 定义的子字符串重命名这个文件

但是,当我这样做时:

newfilename = filename[2:len(filename)]
os.rename(filename,newfilename)

我明白了

WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect

那么我的选择是什么?看起来 Windows 无法识别特殊字符。我可以手动编辑它,但不能以编程方式进行编辑。

最佳答案

使用文件的 unicode 名称可能会更好。要获取 unicode 名称,请将 unicode 路径传递给 os.listdir

for filename in os.listdir(u'/path/to/files'):
if filename.startswith(u'\u25b6'):
os.rename(filename, filename[2:])

请注意,使用 unicode 可能并不总是足以指定文件名(您可能必须规范化 unicode),因为不止一个 unicode 代码点序列可以具有相同的外观和含义。 (参见 unicode equivalence 和 Ned Batchelder 的 blog post on the subject)。

关于Python - 无法重命名文件名中包含特殊字符的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16510562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com