A. 镐庢牱鍒╃敤Python杩涜屽浘鐗囧垎鏋
fromPILimportImage###姝ゅ勪负瀵煎嚭鍖咃纴娉ㄦ剰瀛楁瘝澶у皬鍐
importos,os.path
#鎸囨槑琚阆嶅巻镄勬枃浠跺す
rootdir=os.path.abspath(os.curdir)+'/Image/'
rootdir1=os.path.abspath(os.pardir)+"/Image/"
#镓揿寘鐢
ifos.path.isdir(rootdir):
pass
else:
rootdir=rootdir1
size=315,560
i=0
forparent,dirnames,filenamesinos.walk(rootdir):
forfilenameinfilenames:
infile=os.path.join(parent,filename)
im=Image.open(infile)###姝ゅ処mage.open(dir)涓哄氭暟瀵硅薄搴旂敤镄勫熀纭.
im.thumbnail(size)###姝ゅ剆ize涓洪暱搴︿负2镄则uple绫诲瀷锛屾敼鍙桦浘鐗囧垎杈ㄧ巼
im.save(infile)###im.save(dir)锛屽浘鐗囧勭悊镄勬渶钖庨兘鐢ㄨ繖涓锛屽氨鏄淇濆瓨澶勭悊杩囧悗镄勫浘鐗
i+=1
print(i,"Done")
瑕佺敤pil鍖 瀹夎呭备笅锛歱ipinstallpillow
B. Python如何读入一个文件夹下的多幅图片
搬过来的,可以看下代码,在自己写一个。
importos
allFileNum=0
defprintPath(level,path):
globalallFileNum
'''
打印一个目录下的所有文件夹和文件
'''
#所有文件夹,第一个字段是次目录的级别
dirList=[]
#所有文件
fileList=[]
#返回一个列表,其中包含在目录条目的名称(google翻译)
files=os.listdir(path)
#先添加目录级别
dirList.append(str(level))
forfinfiles:
if(os.path.isdir(path+'/'+f)):
#排除隐藏文件夹。因为隐藏文件夹过多
if(f[0]=='.'):
pass
else:
#添加非隐藏文件夹
dirList.append(f)
if(os.path.isfile(path+'/'+f)):
#添加文件
fileList.append(f)
#当一个标志使用,文件夹列表第一个级别不打印
i_dl=0
fordlindirList:
if(i_dl==0):
i_dl=i_dl+1
else:
#打印至控制台,不是第一个的目录
print'-'*(int(dirList[0])),dl
#打印目录下的所有文件夹和文件,目录级别+1
printPath((int(dirList[0])+1),path+'/'+dl)
forflinfileList:
#打印文件
print'-'*(int(dirList[0])),fl
#随便计算一下有多少个文件
allFileNum=allFileNum+1
if__name__=='__main__':
printPath(1,'/home/test/')
print'总文件数=',allFileNum
C. python获取文件夹中的图片的路径
Python3.6.1(default,Mar222017,06:17:05)
[GCC6.3.020170321]onlinux
Type"help","right","credits"or"license"formoreinformation.
>>>importos
>>>defisimage(fn):
...returnos.path.splitext(fn)[-1]in('.jpg','.JPG','.png','.PNG')
...
>>>isimage('abs.jpg')
True
>>>isimage('abc.txt')
False
>>>dirpath='/home/zyy/汽车/卡槽'
>>>forr,ds,fsinos.walk(dirpath):
...forfninfs:
...ifnotisimage(fn):
...continue
...fname=os.path.join(r,fn)
...print(fname)
...