如何使用Python或c#替换文件夹中所有文件的大小写?

2024-10-03 04:27:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件夹,有一个混合和匹配的camelCase和非camelCase文件名。我在Python中使用它来删除下划线,并希望可以轻松地调整它,将“camelCaseExample”替换为“camelCaseExample”:

folder = r"C:/....."
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('_', ' ')
    if newname != path:
        os.rename(path,newname)

有人能帮我编辑一下这个让它为regex工作吗?你知道吗

我试过,但运气不好:

newname =  path.replace('%[A-Z][a-z]%', ' ')

如果这更简单的话,我也可以使用c#解决方案


Tags: pathin文件夹foros文件名rootfolder
1条回答
网友
1楼 · 发布于 2024-10-03 04:27:42

您可能希望使用re库尝试regex。你知道吗

import re
new_name = re.sub("(?=[A-Z])", " ", "testFileName")
print(new_name)

将输出:

test File Name

如果你想在这之后用小写,你可以打电话给我

new_name = new_name.lower()

正则表达式所做的是寻找紧靠大写字母前面的任何一点,并在那里替换一个空格。这个regex101 link将有助于更好地解释它。你知道吗

相关问题 更多 >