鱼C论坛

 找回密码
 立即注册
查看: 4731|回复: 1

[已解决]关于os.walk的疑问

[复制链接]
发表于 2017-4-21 19:02:11 | 显示全部楼层 |阅读模式

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

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

x
  1. import os

  2. file_index = input('请输入目录:')
  3. for i in os.walk(file_index):
  4.     print(i)
复制代码


写了一个很简单的代码(测试用的)?但发现os.walk()不能对自己所在的目录进行全遍历  图如下:


为什么换了位置结果不同,给的路径都是相同的啊!
最佳答案
2017-4-21 20:11:12
我试了一下当我的程序在D盘某个文件夹下时,我输入D:遍历的是文件夹下面的而不是整个D盘的
而输入E:遍历的是整个E盘下面的目录
而当输入D:\时就会遍历整个D盘的目录
这个可能是这个方法的开发者模拟了CMD命令的处理,当工作路径和你输入的不完整目录处于同个分区下时,默认使用的是工作路径,就是你程序存放处,D:这种属于不完整D:\才属于完整的
你可以在cmd下面试下,默认启动后在C盘的C:\Users\admin\ 当你输入C:的时候目录不会改变
当你输入D:会跳转到D盘的工作路径,再输入C还是回到刚才的目录

第一次代码放在这个目录

第一次代码放在这个目录

第一次对G盘的遍历结果

第一次对G盘的遍历结果

第一次对H盘的遍历结果(一部分)

第一次对H盘的遍历结果(一部分)

这是第二次代码放在H盘这个目录下

这是第二次代码放在H盘这个目录下

第二次遍历H盘的结果

第二次遍历H盘的结果

这是 第二次遍历G盘的结果(部分)

这是 第二次遍历G盘的结果(部分)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-21 20:11:12 | 显示全部楼层    本楼为最佳答案   
我试了一下当我的程序在D盘某个文件夹下时,我输入D:遍历的是文件夹下面的而不是整个D盘的
而输入E:遍历的是整个E盘下面的目录
而当输入D:\时就会遍历整个D盘的目录
这个可能是这个方法的开发者模拟了CMD命令的处理,当工作路径和你输入的不完整目录处于同个分区下时,默认使用的是工作路径,就是你程序存放处,D:这种属于不完整D:\才属于完整的
你可以在cmd下面试下,默认启动后在C盘的C:\Users\admin\ 当你输入C:的时候目录不会改变
当你输入D:会跳转到D盘的工作路径,再输入C还是回到刚才的目录
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 06:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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