这个工程叫test5,我要进去的目录是test5下面的test文件夹 ,下面的代码能正常执行,但是我本来想用相对目录进去,也就是最后一行写成
dealAllPic(1, '\test'),这时候在调用os.listdir的那行报错WindowsError: [Error 3] ,这是为什么啊?求教。。
#!/usr/bin/python
# -*- coding:utf8 -*-
__author__ = 'Administrator'
from PIL import Image
import os
import stat
def dealpic(filePath):
im = Image.open(filePath)
xsize, ysize = im.size
if (xsize>640 or ysize>1136):
mul=max(xsize/640.0, ysize/1136.0)
x=int(round(xsize/mul))
y=int(round(ysize/mul))
out = im.resize((x, y))
name = filePath[:-4]
out.save(name+'_resize.jpg')
allFileNum = 0
def dealAllPic(level, path):
global allFileNum
dirList = [] #所有文件夹,第一个字段是次目录的级别
fileList = [] #所有文件
files = os.listdir(path) #返回一个列表,其中包含在目录条目的名称(google翻译)
dirList.append(str(level)) #先添加目录级别
for f in files:
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
for dl in dirList:
if(i_dl == 0):
i_dl = i_dl + 1
else:
dealAllPic((int(dirList[0]) + 1), path + '\\' + dl) #打印目录下的所有文件夹和文件,目录级别+1
for fl in fileList:
dealpic(path + '\\' + fl)
allFileNum = allFileNum + 1 #计算一下有多少个文件
print allFileNum
dealAllPic(1, 'E:\\python\\test5\\test')