如何将文件名从十六进制更改为Char?

时间:2019-08-03 20:22:02

标签: python

我想将目录中的mp3文件名从Hex更改为普通char。 问题是我不确定将十六进制转换为新文件名时如何处理''。 我该怎么办?

例如文件名就是这样。

6a6f6e676572656e.mp3

而且,文件名不能包含”,因此我不能这样子...

'6a6f6e676572656e'.mp3

我尝试了以下方法,但是没有用。.

bytes.fromhex("'" + filename[:-4] + "'").decode('utf-8')

这是整个代码。

import os
for filename in os.listdir(r"C:\Users\..."):
    os.rename(filename, bytes.fromhex('filename[:-4]').decode('utf-8'))

1 个答案:

答案 0 :(得分:0)

不要将字符串作为变量:使用'filename [:-4]':

import os
for filename in os.listdir(r"C:\Users\..."):
    os.rename(filename, bytes.fromhex(filename).decode('utf-8'))

如果文件名是十六进制则应该起作用;如果您有一些奇怪的字符,只需使用.replace将其删除