python读取txt文件,并依照读取内容移动文件位置
任务描述
在学习过程中用到了根据读取到的txt文件,txt文件中每行包含着图片名字,通过获得的图片名对文件夹里面的图片文件进行分类。这里每个txt文件对应这一类图片。
我的任务中包含两个类别的txt文件,源文件夹中包含 train和test得所有图片,根据不同的txt文件将两个类别图片分开。
1. 读取txt文件内容
f = open(r'D:/yyy/Desktop/val.txt')
打开指定txt文件
lines = f.readlines()
按行读取txt文件内容,文件内有多行
2. 移动指定文件名
orig_path
源文件夹的路径,记住!!!这里是文件夹路径而非文件路径!!!
out_path
移动到目标文件夹的路径,目标文件夹!!!
shutil.move(orig_path + name, out_path + name)
此处的 name 指的是移动的文件名称,也就是通过txt文件读取的文件名称,一定要记得夹文件类型的后缀!!!
3.完整代码
import shutil
if __name__ == '__main__':
# 运行程序前,记得修改主文件夹路径!
orig_path = r'D:/yyy/Desktop/orig_parh/'
out_path = r'D:/yyy/Desktop/out_path/'
f = open(r'D:/yyy/Desktop/val.txt')
lines = f.readlines()
for line in lines: //分别读取每行的内容
name = line + ".png" //添加文件后缀
shutil.move(orig_path + name, out_path + name)
print(name)
f.close()
总结:
很简单的代码。在深度学习中,对于移动大批量的训练集和测试集的任务时,非常有帮助。