Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这个Python(使用3.7)重命名器不允许目录以数字开头?_Python_Python 3.x_Rename - Fatal编程技术网

为什么这个Python(使用3.7)重命名器不允许目录以数字开头?

为什么这个Python(使用3.7)重命名器不允许目录以数字开头?,python,python-3.x,rename,Python,Python 3.x,Rename,我已经创建了下面的重命名器(如下)来替换文件名和目录名中的句点,这对于文件名来说似乎很好,但是对于以整数开头的目录名来说却不起作用。没有出现错误。如果在任何目录名中都没有整数,那么它可以很好地用于目录。否则,它只是重命名文件而不是目录。有人能告诉我为什么以及如何避开这件事吗 非常感谢您的帮助 import os def Replace_Filename(Root_Folder): for Root, Dirs, Files in os.walk(Root_Folder):

我已经创建了下面的重命名器(如下)来替换文件名和目录名中的句点,这对于文件名来说似乎很好,但是对于以整数开头的目录名来说却不起作用。没有出现错误。如果在任何目录名中都没有整数,那么它可以很好地用于目录。否则,它只是重命名文件而不是目录。有人能告诉我为什么以及如何避开这件事吗

非常感谢您的帮助

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)

“不允许”和“不工作”是什么意思?你有错误吗?是否跳过了此类目录?文件名可以很好地更改,但没有更改任何目录名。没有错误发生。如果目录名的开头没有整数,那么文件名和目录名都可以。如果任何目录名上都有整数,那么它会重命名文件,但不会重命名目录,并且不会给出任何错误。你的代码对我来说很好,python3.7 win10。您是否有任何其他注释可以帮助理解此问题?感谢您的测试。我真的想不出什么。我想知道这是否与需要将dir名称作为字符串文本读取有关,但数字会产生干扰?