【发布时间】:2017-12-23 02:38:17
【问题描述】:
我有一个 csv 文件“names.csv”,其中包含“old_name”和“new_name”两列,这样每一行都有对应于旧文件名的新名称。 我想用新名称替换“/home/docs/abc”目录中文件的所有旧文件名。 (名称文件在同一目录中,无需更改其名称)。我厌倦了 csv 模块和数组方法,但无法获得结果。文件扩展名将保持不变'.csv'
【问题讨论】:
我有一个 csv 文件“names.csv”,其中包含“old_name”和“new_name”两列,这样每一行都有对应于旧文件名的新名称。 我想用新名称替换“/home/docs/abc”目录中文件的所有旧文件名。 (名称文件在同一目录中,无需更改其名称)。我厌倦了 csv 模块和数组方法,但无法获得结果。文件扩展名将保持不变'.csv'
【问题讨论】:
您可以通过内置库 os 和 csv 来做到这一点
Python 代码:
import os
import csv
with open('names.csv') as f:
lines = csv.reader(f)
for line in lines:
os.rename(line[0], line[1])
names.csv 示例:
old_name.txt, new_name.txt
old_name.jpg, new_name.jpg
在这种情况下,您的 python 代码必须与 csv 文件位于同一目录中
【讨论】:
with open('path/to/names.csv') as f: