[英]Getting a typeerror in replace punctuation with space
# 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 应该是字符缓冲区 object。
您可以使用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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.