我正在尝试根据.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,逻辑还是图像中的问题?
答案 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文件放在同一目录中。