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)
...