在用空格替换标点符号时出现打字错误


# Remove file extension and leading digits
file = filename.split('.')[0].lstrip(string.digits)
# Replace punctuation characters with underscores
# t = {ord(i) : '_' for i in string.punctuation}
file = file.translate(t)

对于上面的代码,我得到一个错误如下:

file = file.translate(t)
TypeError: expected a character buffer object

但它表明t应该是一个字符缓冲区对象。

您可以使用string.maketrans()来创建映射表。

table = file.maketrans(string.punctuation, '_' * len(string.punctuation))
file = file.translate(table)

使用此:

t = {ord(i) : ord('_') for i in string.punctuation}
file = file.translate(t)

最新更新