繁体   English   中英

在用空格替换标点符号时出现类型错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM