你如何使用操作系统重命名()Python3中的函数?

2024-06-26 02:32:22 发布

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

我正在尝试重命名一个目录中所有文件的文件名和扩展名,并将它们移到一个新目录中。我读了很多关于如何做到这一点的帖子,但由于某些原因,我一直没有成功,我已经坚持了3天了,感觉自己做了一些粗心的事情。有人帮我跟上进度。 这是我最近尝试的方法。在

import os

previousName = 'Macintosh HD⁩/⁨Users⁩/⁨kunductor/⁨Desktop⁩/⁨folder3/windeffect.asd'

newName = 'Macintosh HD⁩/Users⁩/kunductor⁩/Desktop⁩/folder4/wind.wav'

os.rename(previousName,newName)

当我运行上面的代码时,我得到的信息是:

^{pr2}$

如果重要的话,我使用的是MacOSMojave,10.14.2版。在


Tags: 文件目录os文件名原因users帖子重命名
2条回答

我尝试在mojave10.14.2上使用python3进行复制。使用从'/Users'开始的路径,不要包括Macintosh HD。当folder3folder4同时存在时,代码可以完美地运行。当folder4被删除时,我遇到了一个类似的错误,错误消息还指定了作为参数传递的路径。在

如果您正经历这种情况,请在调用os.rename之前确保您尝试将文件移动到的目录存在。这可以通过使用os.mkdir方法在Python中完成。因为如果目录已经存在,它会抛出一个错误,您可以使用os.path.exists方法来检查。在

这就是有效的代码。我想问题是我试图将一个非音频文件改为.wav,但系统拒绝了它。在

import os 

# Function to rename multiple files 
def main(): 
    i = 0

    for filename in os.listdir('/Users/vfloyd/Desktop/uu/'): 
        dst ="Kick" + str(i) + ".wav"
        src = '/Users/vfloyd/Desktop/uu/'+ filename 
        dst ='/Users/vfloyd/Desktop/newD/'+ dst 

        # rename() function will 
        # rename all the files 
        os.rename(src, dst) 
        i += 1

# Driver Code 
if __name__ == '__main__': 

    # Calling main() function 
    main()

相关问题 更多 >