递归法列出目录中的所有文件

用到的方法:

import os

os.listdir(‘/etc/‘):列出指定目录下的所有文件和目录

os.path.isdir(‘/etc/‘):判断是否是一个目录,返回一个布尔值

os.path.isfile(‘/etc/passwd‘):判断是否是一个文件,返回一个布尔值

os.path.join(‘/etc‘,‘passwd‘):连接两个路径

例:

#!/usr/bin/python

import sys

import os

def print_files(path):

lsdir=os.listdir(path)

dirs=[i for i in lsdir if os.path.isdir(os.path.join(path, i))]

files=[i for i in lsdir if os.path.isfile(os.path.join(path, i))]

if files:

for f in files:

print os.path.join(path, f)

if dirs:

for d in dirs:

print_files(os.path.join(path, d))

print_files(sys.argv[1])

时间: 2024-10-22 02:09:23

递归法列出目录中的所有文件的相关文章

Python递归列出目录中文件脚本及其匿名函数

1.递归列出目录里的文件的脚本举例 列出目录中的文件可以通过下面方法:os.listdir() In [1]: import os In [4]: os.listdir('/root') Out[4]: ['.tcshrc', '.bash_history', '.bashrc', 'ENV', '.cache', '.config', '.cshrc', '.bash_logout', 'python', '.ssh', 'shell', '.bash_profile', '.ipython'

列出一个目录中的所有文件

file/ls1.c 1 #include "apue.h" 2 #include <dirent.h> 3 int 4 main(int argc, char *argv[]) 5 { 6 DIR *dp; 7 struct dirent *dirp; 8 if (argc != 2) 9 err_quit("usage: ls directory_name"); 10 if ((dp = opendir(argv[1])) == NULL) 11 e

[Perl系列—] 1. 清空目录及目录中的所有文件

Perl 删除单个文件和目录 Perl 删除单个文件的语法是: unlink 举例来说, 删除 D 盘 temp 目录下的 test.txt 的写法就是: unlink "D:/temp/test.txt" 如果要删除这个目录中所有的文件的话(不包含子目录) unlink glob "D:/temp/*" Perl 删除单个目录的语法是:  rm 类似, 删除上面的temp 目录的写法就可以是: rmdir "D:/temp" 看起来很简单, 但

在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world

一.题目 编写一个内核模块,在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world.内核版本要求2.6.18 ? 二.实验环境 物理主机:win7 64bit, i5双核,8G内存 虚拟机:Vmware Workstation 10.0.2 虚拟主机: CentOs-5.11,内核2.6.18 ? 三.实验思路 在着手解决问题之前,我在网上查阅了一些资料,大多是关于模块的介绍.linux内核采用的是模块化编程,这样可以很容易的添加或

python实例31[列出目录下所有的文件到txt]

代码: (使用os.listdir) import os def ListFilesToTxt(dir,file,wildcard,recursion):    exts = wildcard.split(" ")    files = os.listdir(dir)    for name in files:        fullname=os.path.join(dir,name)        if(os.path.isdir(fullname) & recursion

/proc 目录中的主要文件的说明

/proc 目录中的主要文件的说明 文件或目录名称 描 述 apm 高级电源管理信息 cmdline 文件给出了内核启动的命令行 CPUinfo 中央处理器信息 devices 可以用到的设备(块设备/字符设备) dma 显示当前使用的 DMA 通道 filesystems 核心配置的文件系统 ioports 当前使用的 I/O 端口 interrupts 文件的每一行都有一个保留的中断 kcore 系统物理内存映像 kmsg 核心输出的消息,被送到日志文件 mdstat 文件包含了由 md 设

列出目录下的所有文件

/** * 列出目录下的所有文件 * * @param directory * @return */ public List<File> listFile(File directory) { List<File> list = new ArrayList<File>(); if (!directory.exists()) return list; if (directory.isDirectory()) { File[] files = directory.listFi

通过assets像安卓程序目录中导入数据库文件出现错误的解决办法

错误提示如下,下面的错误信息 08-13 07:36:31.396: W/System.err(9814): java.io.IOException 08-13 07:36:31.416: W/System.err(9814):  at android.content.res.AssetManager.readAsset(Native Method) 08-13 07:36:31.416: W/System.err(9814):  at android.content.res.AssetMana

dos命令删除代码目录中的.svn文件

当需要删除代码目录中的.svn文件时,可以用一句dos命令轻松搞定 for /r "删除.svn的目录" %i in (.svn) do rd /s /q %i