从列表中重命名文件

时间:2017-06-17 08:44:45

标签: python

我正在尝试从文本文件的列表中重命名一些mp3文件。 到目前为止,这是我的代码。在01_pannam_38 .wav 处,新名称附加了一个带有扩展名的新行。例如,这就是尝试重命名的方式

   import os
    lines=[]
    x=0
    rootdir = r'C:\Users\kushal\Desktop\final_earthquake\redo_adaptation_mistakes_data\redo'

    with open('raw_result.txt', mode='r',encoding="utf-8") as f2:
      for line in f2:
          lines.append(line)


    x=0  
    for dirpath, dirnames, filenames in os.walk (rootdir):
     for file in filenames:
         filepath = dirpath +os.sep+file
         if filepath.endswith ('wav'):

          f_name, f_ext = os.path.splitext(file)

          os.rename(filepath, dirpath+os.sep+ lines[x]+f_ext)
          x=x+1

由于某种原因.wav在下一行

{
  "follow_count": 3,
  "followed_back_count": 4,
  "followed_back_users": [
    32432
  ],
  "login": "login1",
  "target": "target1",
  "target_followed_users": [
    234232342,
    453453434,
    241413422
  ]
}

1 个答案:

答案 0 :(得分:1)

连接时可以删除换行符。您需要将lines[x]更改为lines[x].rstrip()

所以,看起来应该是这样的:

os.rename(filepath, dirpath+os.sep + lines[x].rstrip() + f_ext)

此外,@ hiro主角指出评论,你可以在追加

时删除换行符
lines.append(line.strip())