python文件路径操作os模块

os.walk()函数

os.walk(path)返回三个值:root,dirs,files,分别表示path的路径、path路径下的文件夹的名字和path路径下文件夹以外的其他文件;

【training_images文件下有三个物品类别文件夹,每个物品类别文件夹下有一些命名的图片】

代码如下:

import os
import sys
input_folder='/home/XXX/tensorflow/Python-Machine-Learning-Cookbook-master/Chapter09/training_images'

training_data=[]        
for root, dirs, files in os.walk(input_folder):
    for filename in (x for x in files if x.endswith('.jpg')):
        filepath = os.path.join(root, filename)
        object_class = filepath.split('/')[-2]
        training_data.append({'object_class': object_class, 
                'image_path': filepath})
  

   print root,
   #/home/huanglong/tensorflow/Python-Machine-Learning-Cookbook-master/Chapter09/training_images/airplanes   
   print dirs
   #[]
   print files
   #['0007.jpg', '0010.jpg', '0015.jpg', '0005.jpg', '0011.jpg', '0004.jpg', '0002.jpg', '0019.jpg', '0008.jpg', '0020.jpg', '0001.jpg', '0013.jpg', '0012.jpg', '0014.jpg', '0018.jpg', '0017.jpg', '0009.jpg', '0003.jpg', '0006.jpg', '0016.jpg', '.DS_Store']     
 print filepath ,object_class
   #home/xxx/tensorflow/Python-Machine-Learning-Cookbook-master/Chapter09/training_images/airplanes/0016.jpg airplanes
          

os.listdir()函数

该函数返回指定的文件夹包含的文件或文件夹的名字的列表。

from os import listdir
import operator
trainingFileList = listdir('/home/huanglong/tensorflow/machinelearninginaction/Ch02/trainingDigits')   #load the training set
m = len(trainingFileList)
print trainingFileList
#['6_56.txt', '5_48.txt', '3_122.txt', '0_123.txt', '5_52.txt', '3_1.txt']
for i in range(m):
    trainingFileList[i]=trainingFileList[i].split('.')[0]+'1'+str('.')+trainingFileList[i].split('.')[1]
print trainingFileList
#['6_561.txt', '5_481.txt', '3_1221.txt', '0_1231.txt', '5_521.txt', '3_11.txt']

猜你喜欢

转载自blog.csdn.net/weixin_38632246/article/details/87195631