LXMXHJ 2020-07-28 17:05 采纳率: 0%
浏览 108

为什么显示路径有问题?

'''使用walk方法递归遍历目录文件,walk方法会返回一个三元组,分别是root、dirs和files。
其中root是当前正在遍历的目录路径(当前的相对路径);
dirs是一个列表,包含当前正在遍历的目录下所有的子目录名称,不包含该目录下的文件(文件夹的名字);
files也是一个列表,包含当前正在遍历的目录下所有的文件,但不包含子目录(一般是文件的名字)。

PIL安装时:pip install pillow
'''
import os
#导入标准库os操作系统,
from PIL import Image
def wenjian(path):#遍历指定文件夹中所有文件,检查图像大小,长高小于300的删除,不是图像的文件也删除
for root,dirs,files in os.walk(path):
#os.walk(path)递归的方式遍历目录文件
for name in files:
print(os.path.join(root,name))
#os.path.join(root,name)将多个路径组合后返回
try:
aa1=os.path.join(root,name)
img=Image.open((aa1))

#打开文件出错的就不是图像文件,删除
#Image.open()专接图片路径,用来直接读取该路径指向的图片
except:
#try(正常操作)except(异常时执行) finally(不管是否正常都执行)
os.remove(aa1)#删除文件
#os.remove() :用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OS Error。
w=img.width #图像文件长与宽
h=img.height
img.close()
#close()用于关闭一个已打开的文件
if False:
os.remove(aa1)
print(aa1)
#pass

path=("D:\python vscode opencv\ python_xhj \start")(问题在)
wenjian(path)

dirs=os.listdir(path)
#os.listdir(path)用于返回指定的文件夹包含的文件或文件夹的名字的列表
for i in dirs:
a=os.path.normpath("%s\%s"%(path,i))
#规范path字符串形式
#print(os.path.join(path,i))
#os.path.join(path,i)将多个路径组合后返回
print(a)
pass
for root,dirs,files in os.walk(path):
#os.walk返回三个参数:当前路径、当前路径下的文件夹名称、当前路径下的文件名称
for name in dirs:
aad="\"



    if not os.listdir(path+ aad+ name):
        print(name)
        os.removedirs(path+aad+name)#删除文件夹

  • 写回答

1条回答 默认 最新

  • 大学小生1 2020-07-28 22:36
    关注

    path=("D:\python vscode opencv\ python_xhj \start")(问题在)
    应该是转义了吧,试试用双斜杠

    评论

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀