鱼C论坛

 找回密码
 立即注册
查看: 1913|回复: 5

为啥不一样

[复制链接]
发表于 2021-11-1 17:31:12 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么两个程序输出不一样?
1635758838357..jpg
1635758935207..jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-1 17:59:30 | 显示全部楼层
你把代码复制出来吧,这看着好难受
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-1 18:48:20 | 显示全部楼层
函数的
第一步会做判断,如果路径不存在的话,会先执行
mkdir(os.path.split(path))[0]
print(path)
首先 split(path)作用是:
分割文件名与路径,返回(f_path, f_name)元组。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在
import os
os.path.split(path)[0]
Out[5]:  'D:\\food\\fruit'

然后将返回得到的’ 'D:\\food\\fruit'‘放回mkdir()函数里,
'D:\\food\\fruit'当然不存在啦,
然后得到'D:\\food\\放到mkdir()函数里
得到'D:',但‘D:’,自然是存在了的啦,所以就跳过,
然后就打印“D:\\food\\——创建'D:\\food\\
'D:\\food\\创建后,然后再打印:F:\\food\\fruit\\,创建F:\\food\\fruit\\
F:\\food\\fruit\\有了,就会打印F:\\food\\fruit\\apple,创建F:\\food\\fruit\\apple

应为有mkdir(os.path.split(path)[0])这一步在,就会把路径一直递归,直到路径存在时,才会跳执行下面
打印:和 创建,

递归函数。。我这么说不知道你理解不?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-1 22:39:11 From FishC Mobile | 显示全部楼层
看了十几遍,总算弄明白了,谢谢!递归太难了,以后换个题目我可能又不会了!谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-2 09:14:45 | 显示全部楼层
2021年了,还有新手不会截图,血压上来了,哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-3 22:40:26 From FishC Mobile | 显示全部楼层
没事,血压上来我可以帮你降!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 20:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表