请问这个为啥没有报异常。。
os.removedirs('D:\\python3\\--\\-') 本帖最后由 nahongyan1997 于 2021-6-24 20:54 编辑杨东明 发表于 2021-6-24 20:41
python3不空删了的话也不对,不是说的报错吗
不是没出现 error,是error被python无视了,如果你想捕捉还是有办法捕捉到的,同样的error 还有 迭代器,迭代器在最后一个元素被 for 循环索引后也会出现一个 error ,这个error是用来告诉
for 循环已经没有元素可以叠戴的信号,所以不会报错,
os.removedirs 的 error 与迭代器同理,他只是一个信号,而不会引发错误,目录不存在的错误,和这个error并不是同一个。。。。 (其实小甲鱼老师的课里是有教的!) removedirs(path)
递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常
python3里面不是空的不应该报异常吗?-- 和- 是我建的两个空文件夹,为啥运行后删除了-- 和 -没报错,父文件夹不应该是python3吗? 你电脑里还是有这个文件夹呗,要是没有不可能不报错 重点是"从子目录到父目录逐层尝试"
先删-
再删--
最后删python3
所以它尝试删除的时候每个目录里都是空的,除非-目录里还有东西 因为他是从里往外删除 hrpzcf 发表于 2021-6-24 17:31
重点是"从子目录到父目录逐层尝试"
先删-
再删--
python3是python文件的安装目录,一堆东西,最后运行python3没删也没报错 nahongyan1997 发表于 2021-6-24 17:58
因为他是从里往外删除
从里往外删,为啥删到python3不报错了。。?不是说的非空会报错吗 hrpzcf 发表于 2021-6-24 17:31
重点是"从子目录到父目录逐层尝试"
先删-
再删--
import os
>>> os.makedirs('D:\\python3\\--\\-')
>>> os.removedirs('D:\\python3\\--\\-')
我又试了试,一下还是不报错,python3也不删 杨东明 发表于 2021-6-24 20:29
从里往外删,为啥删到python3不报错了。。?不是说的非空会报错吗
我这里怎么把python3给删了呢。 nahongyan1997 发表于 2021-6-24 20:34
我这里怎么把python3给删了呢。
python3你建的空的话会删,我的是python的安装目录,里面一堆东西。。 nahongyan1997 发表于 2021-6-24 20:34
我这里怎么把python3给删了呢。
python3不空删了的话也不对,不是说的报错吗 nahongyan1997 发表于 2021-6-24 20:34
我这里怎么把python3给删了呢。
>>>os.listdir('D:\\python3')
>>>['1', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'python3.dll', 'python37.dll', 'pythonw.exe', 'Scripts', 'tcl', 'Tools', 'vcruntime140.dll'] nahongyan1997 发表于 2021-6-24 20:43
python3里面的文件夹已经被删光了 python3 怎么就不是空的了呢,你别忘了os.removedirs 是递归删除不是 ...
你的python3是空的,所以删完了也是对的,我是说我的python3里面一堆东西,就是假设你的python3也有东西,你的删掉了也不符合removedirs的说法 nahongyan1997 发表于 2021-6-24 20:43
python3里面的文件夹已经被删光了 python3 怎么就不是空的了呢,你别忘了os.removedirs 是递归删除不是 ...
>>> os.makedirs('D:\\新建文件夹\\新建文件夹\\新建文件夹\\新建文件夹')
>>> os.removedirs('D:\\新建文件夹\\新建文件夹\\新建文件夹\\新建文件夹')
这全是空文件夹,运行完所有新建文件夹一个都没有了,也就是删到底了,照理来说python3也在删除范围内,但是里面不是空的(我的),也应该报错 杨东明 发表于 2021-6-24 20:51
>>> os.makedirs('D:\\新建文件夹\\新建文件夹\\新建文件夹\\新建文件夹')
>>> os.removedirs('D:\\新 ...
再看一遍 nahongyan1997 发表于 2021-6-24 20:53
再看一遍
? nahongyan1997 发表于 2021-6-24 20:53
再看一遍
不懂{:9_220:} 杨东明 发表于 2021-6-24 20:54
?
难道我说的还不够清楚吗{:10_306:}{:10_247:} 杨东明 发表于 2021-6-24 20:55
不懂
就是说这个error就算出现了也不会引发异常,除非你手动捕获,Are you OK?
页:
[1]
2