获取指定文件夹下所有文件名称并写入列表
import os
import os. path
rootdir = "./pic_data"
file_object = open ( 'train_list.txt' , 'w' )
for parent, dirnames, filenames in os. walk( rootdir) :
for filename in filenames:
print filename
file_object. write( filename+ '\n' )
file_object. close( )
在做深度学习的时候,会有大量的数据,为了方便,可以直接用命令拷贝到一个文件夹下,代码如下:
import shutil
import os
import os. path
rootdir = "./mjsynth/mnt/ramdisk/max/90kDICT32px"
def Test2 ( rootDir) :
for lists in os. listdir( rootDir) :
if lists[ - 3 : ] == 'jpg' :
print lists
path = os. path. join( rootDir, lists)
shutil. copy( path, "./500" )
continue
if int ( lists) < 501 :
path = os. path. join( rootDir, lists)
if os. path. isdir( path) :
Test2( path)
Test2( rootdir)
数据复制
import os
import shutil
import os. path
rootdir = "E:\FCN\FCNDemo\FCNDemo\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\SegmentationObject"
copydir = "E:\FCN\FCNDemo\FCNDemo\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\JPEGImages"
objdir = "E:\FCN\FCNDemo\FCNDemo\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\复制"
for filenames in os. listdir( rootdir) :
copyfile= filenames[ : - 3 ] + "jpg"
copyfile= copydir+ '\\' + copyfile
shutil. copy( copyfile, objdir)
print ( copyfile)
批量文件名称修改对于准备训练数据集是必要的。因为往往我们从网上爬下数据,其名称会如下面所示的那样让人头疼。
因此将这些数据改个比较有规律的名字会清爽一点,可以用python来做这件事情,代码如下:
import os
path= 'E:\\数据集\\动漫人脸\\faces(粗略清洗版本)\\faces\\'
f= os. listdir( path)
n= 0
for i in f:
if f[ n] [ - 3 : ] == 'jpg' :
oldname= path+ f[ n]
print ( oldname)
newname= path+ str ( n+ 1 ) + '.jpg'
os. rename( oldname, newname)
print ( oldname, '======>' , newname)
n+= 1