我的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, ""))
答案 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, ""))