重命名文件夹中的图像

时间:2018-07-12 01:55:43

标签: python python-3.x csv rename

我正在尝试根据.csv中存储的名称重命名文件夹中的图像。

我真的不明白下面的代码是什么问题。图片和.csv位于同一文件夹中

with open('labels.csv', 'r') as f:
    lines = csv.reader(f, delimiter = ',')
    for line in lines:
        os.rename(line[0], line[1] + str('.png'))

我遇到错误。

FileNotFoundError: [WinError 2] The system cannot find the file specified: '100000.png' -> '1.png'

我过去(前一段时间)尝试过此方法,并且工作了。是.csv,逻辑还是图像中的问题?

1 个答案:

答案 0 :(得分:1)

您应该提供绝对路径。您可以通过变量

附加目录路径
 os.path.dirname(__file__)

它将为您提供当前脚本文件路径的目录。随后,您需要连接目录路径和当前文件名(os.path.join())

您应该将CSV文件目录作为当前目录。 os.chdir()是函数。如果您需要代码作为帮助,请告诉我。

import os.path
import csv
current_directory =  os.path.dirname(__file__)
csv_file_path = os.path.join(current_directory,'labels.csv')
with open(csv_file_path, 'r') as f:
    lines = csv.reader(f, delimiter = ',')
    for line in lines:        
        current_file_path = os.path.join(current_directory,line[0])
        renamed_file_path = os.path.join(current_directory,line[1] + ".png")
        os.rename(current_file_path, renamed_file_path)

请把您的.py文件放在同一目录中。