python - 用python替换文件名字符

标签 python replace filenames

我有一些代码将“_manual”这个词添加到一组文件名的末尾。 我需要更改脚本,以便它删除文件名 (ES) 的最后两个字母,然后将其替换为 _ES_Manual 例如:AC-5400ES.txt --> AC-5400_ES_manual.txt

我如何将那个函数合并到这段代码中?

folder = r"C:/Documents and Settings/DuffA/Bureaublad/test"
import os # glob is unnecessary
for root, dirs, filenames in os.walk(folder):
    for filename in filenames:
        fullpath = os.path.join(root, filename)
        filename_split = os.path.splitext(fullpath) # filename and extensionname (extension in [1])
        filename_zero, fileext = filename_split
        print fullpath, filename_zero + "_manual" + fileext
        os.rename(fullpath, filename_zero + "_manual" + fileext)

最佳答案

试试这个:

import os
pathiter = (os.path.join(root, filename)
    for root, _, filenames in os.walk(folder)
    for filename in filenames
)
for path in pathiter:
    newname =  path.replace('ES.txt', '_ES_manual.txt')
    if newname != path:
        os.rename(path,newname)

关于python - 用python替换文件名字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7160865/

相关文章:

vba - Excel VBA 代码无法打开名为 "CON.txt"的文件

python - 类型错误 : __init__() got an unexpected keyword argument 'trainable'

python - 从值列表中分配新列的值警告大型数据集 - Pandas

python - 如何在 python 中替换/删除字符串

python - 在不同情况下如何使用正则表达式修改 pandas 中的字符串

替换R中的整个列

python - 如何为 numpy 数组制作非方形滚动窗口?

python - 更新 Python 中的 For Each 循环

string - 如何从 Bash 中的路径字符串中删除文件后缀和路径部分?

python - 从文件路径仅获取文件名(不带扩展名和目录)