⑴ python遍历目录就是这么简单
有时橘吵稿我们有列出目录下都有哪些文件和子目录的需求,这种情况是有现成命令可用的,比如windows下的dir命令,linux下的ls命令都可以,那我们用python代码怎么实现呢?
我们利用python丰富的库很容易就能实现一个简易版本,下面我们就用4种方法来实现它。
一、使用os.popen
os.popen工作原理是新建一个子进程,然后用这个子进程执行命令,父进程与子进程间通过管道进行通信。
根据调用popen时的传参,我们可以通过管道读取子进程的输出也可以向子进程写数据,默认是读取子进程的输出。
从以上描述可以看出popen是非常通用的,不是只能用于我们这个例子哦。
那我们开始用它实现我们的需求吧,代码如下:
哈哈,是不是很简单,这种方式虽然能达到目的但其实并不是我们想要的,我们本来就是要实现ls的,结果调用了ls,所以严格意义上来说我们并没有实现ls,那让我们继续往下看其它方法吧,嘿嘿。
二、使用glob.glob
glob可以根据你使用的通配符对文件进行匹配,利用这个特性我们可以列出当前目录下都有哪些文件和子目录,如下代码:
三、使用os.listdir
os.listdir同样可以列出某个目录下都有哪些文件和子目录,如下代码:
四、使用os.walk
os.walk在遍历目录方面非常强大,它不但可以遍历你需要的目录,也可以递归遍历子目录且递归的深度可以用代码控制,下面让我们分别看下怎么遍历整个目录树以及怎么控制深度吧。
os.walk默认是遍历整个目录树的,如下代码就会递归打印出当前目录下所有文件:
那我们怎么控制遍历的深度,比如只遍历n层呢?其实很简单,只需要定义一个深度变量,碰物然后到达n后跳出循环即可,如圆孝下代码就只遍历1层:
至此我们已经写完4种方法了,如果你还有其他方法,欢迎评论交流。
⑵ 如何用shell遍历一个目录下的所有子目录
可以使用ls或者find来完成对某个文件夹下所有文件的遍历比如使用ls
可以简单地使用一版个通配权符来完成
ls 某个目录/*
也可以使用find来完成
比如
find 某个目录
自然的也可以写一个shell脚本来进行遍历
首先进行一个要遍历的文件夹
然后循环查看每个文件
如果该文件是一个文件夹的话则进入该文件夹做和上面相同的事件
这样就可以该整个文件夹内的所有文件进行遍历了
⑶ 如何遍历一个网站目录下的所有文件
只有拿了这站你才能对他的目录一清二楚。这是最简单也是最难的办法。
其他的任何软件和方法都只是能得到其中的一部分文件而已。对文件及目录是不可能遍历的。
⑷ dos命令循环处理目录下的文件
来晚了,不知问题解决没。说一下,循环用for命令,遍历文件如下,可专以试一下,do里面做你需要的操作,%%i代表当前遍历属到的文件名。有问题在追问,望采纳。
@echooff
for/f%%iin('dir/a-d/bd:TPlus12000*.csproj')do(echo%%i)
pause>nul
⑸ PHP如何遍历指定文件夹,获取所有文件列表并生成下载链接
试编写代码如下:
<?php
$dir="D:/WWW/ftp";//指定的路径
$sitepath='http://localhost/ftp/';
//遍历文件夹下所有文件
if(false!=($handle=opendir($dir))){
echo"$dir目录下的文件列表:<BR/>";
$i=0;
while(false!==($file=readdir($handle))){
if($file!="."&&$file!=".."&&!is_dir($dir.'/'.$file)){
echo'<ahref="'.$sitepath.$file.'">'.$file.'</a><br/>';
}
}
//关闭句柄
closedir($handle);
}
?>
代码中需要提示的是:
如果是运行于互联网上,需要考虑文件的访问安全性。
运行截图: