2017-07-18 358 views
0

我有一個包含兩列'old_name'和'new_name'的csv文件'names.csv',這樣每行都有與舊文件名相對應的新名稱。 我想用新名稱替換'/ home/docs/abc'目錄中所有文件的舊文件名。 (名稱文件位於同一目錄中,不需要更改其名稱)。我與csv模塊和陣列的方法,但tyring拿不到results.File擴展將保持相同的「.csv格式根據csv中的文件名重命名文件

回答

0

您可以通過內置在圖書館oscsv

Python代碼做到這一點:

names.csv的
import os 
import csv 

with open('names.csv') as f: 
    lines = csv.reader(f) 
    for line in lines: 
     os.rename(line[0], line[1]) 

例子:

old_name.txt, new_name.txt 
old_name.jpg, new_name.jpg 

在這種情況下,你的Python代碼必須與CSV網絡相同的目錄勒

+0

感謝您的前面回答但它是示出了以下錯誤:回溯(最近最後調用): 文件「renamefile.py」,第9行,在 os.rename(行[0],線[1 ]) OSError:[Errno 2]沒有這樣的文件或目錄 – Mohua

+0

我的舊文件名是作爲SearchResults(1).csv,SearchResults(2).csv,SearchResults(3).csv從批量在線下載的默認文件名。 ...... – Mohua

+0

是否與腳本執行的目錄位於同一個目錄中?如果沒有,您將不得不將路徑的那部分添加到文件名 –