如何将文件列表重命名为新的任意列表

时间:2017-08-05 00:36:24

标签: python bash rename file-rename

我有一个文件列表:Wav16.ogg,Wav17.ogg ... Wav76.ogg
我要转换为:a65.ogg,b72.ogg ... b32.ogg

这是我到目前为止所做的:

import os
import numpy as np

OldContent = [i.strip().split() for i in open("OTWGYNmp3/Wav#.txt").readlines()]
oldName    = np.asarray(OldContent)

NewContent = [i.strip().split() for i in open("OTWGYNmp3/Key#.txt").readlines()]
newName    = np.asarray(NewContent)

这是我想要实现的目标,但不确定如何向前发展:

for i in len(newName):
    os.rename(oldName[i], newName[i]) 

我环顾四周并看到了不同的答案,但它们都涉及通过某些因素更改名称,而不是替换为任意名称:Rename multiple files in a directory in Python

2 个答案:

答案 0 :(得分:0)

给定名为orignew的文件中的文件名:

readarray -t orig < orig
readarray -t new < new
for((i=0; i < ${#orig[*]}; i++))
do
  echo mv -- "${orig[i]}" "${new[i]}"
done

如果看起来没问题,请移除echo

给出样本输入:

原稿

file1
file2
file3

filea
fileb
filec

示例输出为:

mv file1 filea
mv file2 fileb
mv file3 filec

答案 1 :(得分:0)