str.translate 不会从文件名中删除字符(数字和空格)

P·刘易斯

我正在使用 python 3.7 执行以下代码来重命名多个文件,删除文件名中的任何数字或空格。但是,在检索文件列表时,没有重命名任何文件。有什么理由吗?

结果在代码下方。

import os

def rename_files():
    # get files names
    curr_dir = os.getcwd()
    print("Current WD: ",curr_dir)
    os.chdir(r"c:\udacity_files\prank")
    new_dir = os.getcwd()
    print("New WD: ",new_dir)
    file_list = os.listdir()
    for file_name in file_list:
        os.rename(file_name, file_name.translate("0123456789 "))
    new_list = os.listdir()
    print("New List: ", new_list)
    os.chdir(curr_dir)
    print("Restored WD: ",curr_dir)

rename_files()

输出:

Current WD:  C:\Users\qtbxxxx
New WD:  c:\udacity_files\prank
3New List:  ['16los angeles.jpg', '17cairo.jpg', '22rochester.jpg', '25madrid.jpg', '28houston.jpg', '29bristol.jpg', '29buenos aires.jpg', '2chennai.jpg', '2hyderabad.jpg', '35miami.jpg', '36sydney.jpg']
Restored WD:  C:\Users\qtbxxxx
忙碌的熊

您需要str.maketrans在 Python 3 中提供一个翻译映射translate才能工作。有关更多信息,请参阅文档您可以尝试以下方法:

os.rename(file_name, file_name.translate(str.maketrans('', '', '0123456789 ')))

for 的前两个参数str.maketrans与您的使用无关,因此将它们保留为空字符串。第三个参数定义要删除的字符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Python中反转str.translate

来自分类Dev

用str和unicode对象透明地进行.translate

来自分类Dev

str.translate 可以用于子字符串替换吗?

来自分类Dev

为什么此Python 3代码无法使用str.translate()删除Unicode重音字符?

来自分类Dev

Google Cloud Translate API中缺少“ translate.js”

来自分类Dev

翻译不是函数(在“ translate()”中,“ translate”为true)

来自分类Dev

删除文件名中的空格,连字符和下划线?

来自分类Dev

如何从python中的str中删除字符?

来自分类Dev

使用sed删除文件名中的空格和括号

来自分类Dev

ls文件名如何按数字顺序在文件名中包含空格字符

来自分类Dev

str.replaceAll()和str = str.replaceAll()之间的区别

来自分类Dev

str.clear()和str =“”之间的区别

来自分类Dev

DataOutputStream中的writeBytes(str)与write(str)

来自分类Dev

DataOutputStream中的writeBytes(str)与write(str)

来自分类Dev

一起使用 translate 和 calc()

来自分类Dev

递归地从文件名中删除数字和连字符

来自分类Dev

在php中获取Google Translate的html代码

来自分类Dev

CoreModule 中的 ng2-translate

来自分类Dev

如何从str中删除'符号?

来自分类Dev

如何从文件名中删除空格

来自分类Dev

忽略sum()中的str

来自分类Dev

在ui路由器配置文件中使用angular-translate的$ translate.use()

来自分类Dev

在ui路由器配置文件中使用angular-translate的$ translate.use()

来自分类Dev

angular-translate:translate-cloak在v2.4中不起作用

来自分类Dev

Python:str.split() 删除尾随数字

来自分类Dev

Python中{str}和{str_}之间的区别

来自分类Dev

Python:如何摆脱str(dict)中的空格?

来自分类Dev

为什么JS中+ str比str * 1更好,可以将字符串转换为数字?

来自分类Dev

在文件名中的空格之间替换单个空格和连字符

Related 相关文章

  1. 1

    在Python中反转str.translate

  2. 2

    用str和unicode对象透明地进行.translate

  3. 3

    str.translate 可以用于子字符串替换吗?

  4. 4

    为什么此Python 3代码无法使用str.translate()删除Unicode重音字符?

  5. 5

    Google Cloud Translate API中缺少“ translate.js”

  6. 6

    翻译不是函数(在“ translate()”中,“ translate”为true)

  7. 7

    删除文件名中的空格,连字符和下划线?

  8. 8

    如何从python中的str中删除字符?

  9. 9

    使用sed删除文件名中的空格和括号

  10. 10

    ls文件名如何按数字顺序在文件名中包含空格字符

  11. 11

    str.replaceAll()和str = str.replaceAll()之间的区别

  12. 12

    str.clear()和str =“”之间的区别

  13. 13

    DataOutputStream中的writeBytes(str)与write(str)

  14. 14

    DataOutputStream中的writeBytes(str)与write(str)

  15. 15

    一起使用 translate 和 calc()

  16. 16

    递归地从文件名中删除数字和连字符

  17. 17

    在php中获取Google Translate的html代码

  18. 18

    CoreModule 中的 ng2-translate

  19. 19

    如何从str中删除'符号?

  20. 20

    如何从文件名中删除空格

  21. 21

    忽略sum()中的str

  22. 22

    在ui路由器配置文件中使用angular-translate的$ translate.use()

  23. 23

    在ui路由器配置文件中使用angular-translate的$ translate.use()

  24. 24

    angular-translate:translate-cloak在v2.4中不起作用

  25. 25

    Python:str.split() 删除尾随数字

  26. 26

    Python中{str}和{str_}之间的区别

  27. 27

    Python:如何摆脱str(dict)中的空格?

  28. 28

    为什么JS中+ str比str * 1更好,可以将字符串转换为数字?

  29. 29

    在文件名中的空格之间替换单个空格和连字符

热门标签

归档