首页 > 解决方案 > 如何用python替换字符串中除了replace()的最后一个实例之外的所有实例?

问题描述

我正在尝试使用此代码重命名director中的所有文件(到目前为止),但是,我不确定如何告诉python不要替换“。”的最后一个实例。

我意识到这可能很简单,但我是编程新手

任何帮助,将不胜感激 !

import os

def main():

testDir = os.listdir("D:\TempServer\Videos\Series\American Dad\American 
Dad! S12 Season 12 [1080p WEB-DL HEVC x265 10bit] [AAC 5.1] [MKV] - ImE")
print(testDir)
newTestStr = ""


    for filename in testDir:
        testStr = "" + filename
        print(testStr.replace(".", " ", -1))

if __name__ == '__main__':
    main()

“-1”不起作用,我不确定会发生什么

标签: pythonstringreplace

解决方案


使用os.splitext分隔名称和扩展名,替换名称中的点后加入:

for filename in testDir:
    name, ext = os.path.splitext(filename)
    name = name.replace('.', ' ')
    new_filename = name + ext
    print(new_filename)

推荐阅读