我正在使用Python 3,我想翻译我的文件名没有数字.翻译功能似乎在Python 3中不起作用.如何将文件名翻译为没有数字?
这是不起作用的代码块:
file_name = "123hello.jpg" file_name.translate(None, "0123456789")
谢谢
str.translate
仍然存在,界面刚刚改变了一点:
>>> table = str.maketrans(dict.fromkeys('0123456789')) >>> '123hello.jpg'.translate(table) 'hello.jpg'
.translate
需要一个翻译表:
返回字符串S的副本,其中每个字符都已通过给定的转换表进行映射。该表必须通过getitem实现查找/索引,例如字典或列表,将Unicode序号映射到Unicode序号,字符串或None。如果此操作引发LookupError,则字符保持不变。映射为“无”的字符将被删除。
因此,您可以执行以下操作:
>>> file_name = "123hello.jpg" >>> file_name.translate({ord(c):'' for c in "1234567890"}) 'hello.jpg' >>>
我正在使用ver3.6.1并且翻译不起作用.strip()方法的工作原理如下:
file_name = 123hello.jpg file_name.strip('123')