2017-07-18 106 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

是否与脚本执行的目录位于同一个目录中?如果没有,您将不得不将路径的那部分添加到文件名 –