Python文件名更改

时间:2014-10-10 16:23:21

标签: python macos

我的Mac上的目录中有许多视频,我想要删除文件名中的特定字符串,但我希望保留文件名的其余部分。我正在从终端运行这个python脚本。

我有这种语法,但它似乎不起作用。使用以下是否实用?看起来很简单,这是做这种事情的最佳方式,这就是为什么我认为它不起作用。

from os import rename, listdir

text = "Some text I want to remove from file name"
files = listdir("/Users/Admin/Desktop/Dir_of_videos/")

for x in files:
    if text in files:
        os.rename(files, files.replace(text, ""))

1 个答案:

答案 0 :(得分:1)

问题是当你使用listdir时,你会得到不完整的路径,基本上,它只返回目录中的文件而没有前面的目录路径

这应该做的工作:

import os

in_dir = './test'
remove = 'hello'

paths = [os.path.join(in_dir,file) for file in os.listdir(in_dir) if remove in file]

for file in paths:
    os.rename(file, file.replace(remove, ""))