Python-如何将所有文件名更改为小写且无空格

问题描述 投票:0回答:2

我正在尝试更改文件夹中的所有文件,以使它们包含一些统一性。例如,我有“ Hard Hat Person01”,“ Hard Hat Person02”等,但我在同一文件夹中也有“ hard_hat_person01”和“ hardhatperson01”。

所以我想将所有这些文件名更改为'hardhatperson01','hardhatperson02'等。我尝试了如下代码,但始终显示错误。您能帮我吗?

for file in os.listdir(r'C:\Document'):
    if(file.endswith('png')):
        os.rename(file, file.lowercase())
        os.rename(file, file.strip())
python rename file-rename
2个回答
0
投票

这里是解决方法:

import os
os.chdir(r"C:\Users\vjadhav6\Desktop\tESING")
for i in os.listdir(os.getcwd()):
    if(i.endswith('png')):
        os.rename(i,i.lower().replace(" ",""))

0
投票

listdir仅返回文件名,而不返回其目录。而且,您不能多次重命名该文件。实际上,您应确保不要意外覆盖现有文件或目录。一个更强大的解决方案是

import os

basedir = r'C:\Document'

for name in oslistdir(basedir):
    fullname = os.path.join(basedir, name)
    if os.path.isfile(fullname):
        newname = name.replace(' ', '').lower()
        if newname != name:
            newfullname = os.path.join(basedir, newname)
            if os.path.exists(newfullname):
                print("Cannot rename " + fullname)
            else:
                os.rename(fullname, newfullname)
© www.soinside.com 2019 - 2024. All rights reserved.