我有多个名字为人名的文件夹,其中名字在前、姓氏在后。我希望更改文件夹名称,以便姓氏在前面,后跟逗号,然后是名字。
例如,在名为Test的文件夹中,我有:
C:/Test/John Smith
C:/Test/Fred Jones
C:/Test/Ben Jack Martin
我想实现这个:
C:/Test/Smith, John
C:/Test/Jones, Fred
C:/Test/Martin, Ben Jack
我尝试使用os.rename做一些事情,但是我似乎无法处理具有不同名称长度的文件夹,并且我不确定如何将逗号插入到姓氏中。
此外,一些文件夹名称已经处于正确的形式,因此在重命名过程中需要跳过这些文件夹。我认为可以通过添加一个if语句来实现这一点,如果文件夹名称包含逗号,则继续进行操作。
否则,姓氏将始终是文件夹名称中的最后一个单词。
感谢您提供的任何帮助。
C:/Test
。 您确定那是您的用户名目录所在的目录吗? - phihagos.rename
之前,如果它命中了,你应该跳过这个条目(即continue
)。整段代码看起来像这样:if os.path.exists(os.path.join(basedir, surname + ', ' + firstname)): continue
。 - phihag