TypeError:期望一个字符缓冲区对象

时间:2015-06-09 21:39:33

标签: python

我正在尝试翻译没有编号的文件名。我收到了以下错误:

>>> file ="1abc89.jpg"
>>> os.rename(file,file.translate(None,"0123456789"))
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: expected a character buffer object

我尝试搜索几个线程,但无法明白这一点。

1 个答案:

答案 0 :(得分:0)

Python 3.4:

>>> import os
>>> name = '1abc89.jpg'
>>> name.translate(str.maketrans('','','0123456789'))
'abc.jpg'
>>> os.rename(name,name.translate(str.maketrans('','','0123456789')))

Python 2.7:

>>> import os
>>> name = '1abc89.jpg'
>>> name.translate(None,'0123456789')
'abc.jpg'
>>> os.rename(name,name.translate(None,'0123456789'))

参考文献: