柯柯_ 2015-07-23 22:06 采纳率: 100%
浏览 11952
已采纳

python使用os.listdir函数的时候的路径问题

这个工程叫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')

展开全部

  • 写回答

2条回答 默认 最新

  • oyljerry 2015-07-23 22:31
    关注

    首先你要保证运行的时候当前目录在test5

     dealAllPic(1, '.\\test')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥100 二维码被拦截如何处理
  • ¥15 怎么解决LogIn.vue中多出来的div
  • ¥15 优博讯dt50巴枪怎么提取镜像
  • ¥30 在CodBlock上用c++语言运行
  • ¥15 求C6748 IIC EEPROM程序固化烧写算法
  • ¥50 关于#php#的问题,请各位专家解答!
  • ¥15 python 3.8.0版本,安装官方库ibm_db遇到问题,提示找不到ibm_db模块。如何解决?
  • ¥15 TMUXHS4412如何防止静电,
  • ¥30 Metashape软件中如何将建模后的图像中的植被与庄稼点云删除
  • ¥20 机械振动学课后习题求解答
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部