我创建了下面的重命名器(如下)来替换文件名和目录名中的句点,这对于文件名来说似乎很好,但是对于以整数开头的目录名来说就不行了。不会产生任何错误。如果在任何目录名中都没有整数,那么它对目录是有效的。否则,它只是重命名文件,而不是目录。有人能告诉我为什么吗? 任何帮助都非常感谢。
import os
def Replace_Filename(Root_Folder):
for Root, Dirs, Files in os.walk(Root_Folder):
for File in Files:
print(File)
Fname, Fext = os.path.splitext(File)
print(Fname)
print(Fext)
Replaced = Fname.replace(".","_")
print(Replaced)
New_Fname = Replaced + Fext
print(New_Fname)
F_path = os.path.join(Root, File)
print(F_path)
New_Fpath = os.path.join(Root, New_Fname)
print(New_Fpath)
os.rename(F_path, New_Fpath)
def Replace_Dirname(Root_Folder):
for Root, Dirs, Files in os.walk(Root_Folder):
for Dir in Dirs:
print(Dir)
New_Dname = Dir.replace(".","_")
print(New_Dname)
D_Path = os.path.join(Root, Dir)
print(D_Path)
New_Dpath = os.path.join(Root, New_Dname)
print(New_Dpath)
os.rename(D_Path, New_Dpath)
Root_Folder = "D:\\Practicerename-Copy"
Replace_Filename(Root_Folder)
Replace_Dirname(Root_Folder)
问题来源StackOverflow 地址:/questions/59379027/why-does-this-python-using-3-7-renamer-not-allow-directories-to-start-with-a-n
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。