精华内容
下载资源
问答
  • 遍历文件夹以及字文件夹遍历文件夹以及字文件夹遍历文件夹以及字文件夹
  • 1 importos234 #遍历文件夹5 defwalkFile(file):6 for root, dirs, files inos.walk(file):78 #root 表示当前正在访问的文件夹路径9 #dirs 表示该文件夹下的子目录名list10 #files 表示该文件夹下的文件list1112 #...

    1 importos2

    3

    4 #遍历文件夹

    5 defwalkFile(file):6 for root, dirs, files inos.walk(file):7

    8 #root 表示当前正在访问的文件夹路径

    9 #dirs 表示该文件夹下的子目录名list

    10 #files 表示该文件夹下的文件list

    11

    12 #遍历文件

    13 for f infiles:14 print(os.path.join(root, f))15

    16 #遍历所有的文件夹

    17 for d indirs:18 print(os.path.join(root, d))19

    20

    21 defmain():22 walkFile("f:/ostest/")23

    24

    25 if __name__ == '__main__':26 main()

    展开全文
  • python下遍历某个路径所有文件是很常用的事,一直对其有所困扰,那么python如何遍历文件夹呢?一起来了解下吧:python如何遍历文件夹方法一 : 利用函数 os.walk()os.walk() 会返回三元元组 (dirpath, dirnames, ...

    python下遍历某个路径所有文件是很常用的事,一直对其有所困扰,那么python如何遍历文件夹呢?一起来了解下吧:

    python如何遍历文件夹

    9c98a7b72b3174871c95531d94c1adfc.png

    方法一 : 利用函数 os.walk()

    os.walk() 会返回三元元组 (dirpath, dirnames, filenames)

    dirpath : 根路径 (字符串)

    dirnames : 路径下的所有目录名 (列表)

    filenames : 路径下的所有非目录文件名 (列表)

    其中目录名和文件名都是没有加上根路径的,所以需要完整路径时需要将目录名或文件名与根路径连接起来。

    示例 :

    import os

    root = "C:\\dir"

    for dirpath, dirnames, filenames in os.walk(root):

    for filepath in filenames:

    print os.path.join(dirpath, filepath)

    方法二 : 利用函数 os.listdir(), os.path.isdir(), os.path.isfile()

    os.listdir() 可以列出路径下所有文件和目录名,但是不包括当前目录., 上级目录.. 以及子目录下的文件.

    os.path.isfile() 和 os.path.isdir() 判断当前路径是否为文件或目录

    示例 :

    import os

    def listDir(rootDir):

    for filename in os.listdir(rootDir):

    pathname = os.path.join(rootDir, filename)

    if (os.path.isfile(filename)):

    print pathname

    else:

    listDir(pathname)

    python如何实现文件夹遍历

    python 中os.path模块用于操作文件或文件夹

    os.path.exists(path) 判断文件路径是否存在

    dir = "c:\windows"

    if os.path.exists(dir) :

    print "dir exists"

    else :

    print "no exists"

    os.path.isfile(path) 判断path是否是文件

    dir = "c:\windows\system32\cmd.exe"

    if os.path.isfile(dir) :

    print "file exists"

    else :

    print "no exists"

    os.path.getsize(path) 获取path文件的大小

    size = os.path.getsize(dir)

    print size/1024

    os.path.walk(path) 遍历path,返回一个三元组(dirpath, dirnames, filenames). dirpath表示遍历到的路径, dirnames表示该路径下的子目录名,是一个列表, filesnames表示该路径下的文件名,也是一个列表. 例如: 当遍历到c:\windows时,dirpath="c:\windows", dirnames是这个路径下所有子目录名的列表,filenames是这个路径下所有文件名的列表

    for (root, dirs, files) in os.walk("C:\windows"): 列出windows目录下的所有文件和文件名

    for filename in files:

    print os.path.join(root,filename)

    for dirc in dirs:

    print os.path.join(root,dirc)

    问题 1 获取给定文件夹的大小?

    要遍历文件的大小,只需要遍历文件内的所有文件,然后将所有文件夹的大小加起来

    def getDirSzie(dir) :

    for (root,dirs,files) in os.walk(dir,False) :

    Size = 0

    for filename in files :

    Size += os.path.getsize(os.path.join(root,filename))

    print root,Size/1024

    问题 2 遍历一个文件夹的子目录,不遍历子目录的字目录?

    os.listdir(path) 函数列出指定目录下的文件和文件夹

    dir = 'c:/windows'

    if os.path.exists(dir):

    dirs = os.listdir(dir)

    for dirc in dirs:

    print dirc

    else :

    print "dir not exists"

    问题3 删除指定目录下空的目录

    for (root, dirs, files) in os.walk(path) :

    for item in dirs :

    dir = os.path.join(root, item)

    try :

    print dir

    os.rmdir(dir)

    except :

    pass

    问题4 修改指定目录下所有文件的文件后缀

    82eb808094991817c71c7f91232b9893.png

    for (root,dirs,files) in os.walk(path) :

    for item in files :

    d = os.path.join(root, item)

    name = d + ".eml"

    os.rename(d, name)

    python怎样遍历文件夹

    一、os.walk()

    os.walk(top, topdown=True, οnerrοr=None, followlinks=False)

    可以得到一个三元tupple(dirpath, dirnames, filenames),

    第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。

    dirpath 是一个string,代表目录的路径,

    dirnames 是一个list,包含了dirpath下所有子目录的名字。

    filenames 是一个list,包含了非目录文件的名字。

    这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name)

    二、枚举文件夹下所有文件

    import os

    # 枚举dirPath目录下的所有文件

    def main(dirname):

    # begin

    for root, dirs, files in os.walk(dirname):

    print(root)

    print(dirs)

    print(files)

    for dir in dirs:

    print(os.path.join(root, dir))

    for file in files:

    print(os.path.join(root, file))

    print('----------------')

    if __name__ == '__main__':

    main(r'G:\ftp\home\bigberg')

    三、遍历文件夹获取大小

    def get_used_size(dirname):

    """

    遍历文件夹获取文件大小

    """

    size = 0

    for dir_path, dirs, files in os.walk(dirname):

    # size += sum([os.path.getsize(os.sep.join([dir_path, name])) for name in files])

    for name in files:

    size += os.path.getsize(os.sep.join([dir_path, name]))

    return size

    Python如何循环遍历文件

    python中打开文件需要使用内置函数open

    格式:

    open(name[,mode[,buffering]])

    启动mode和buffering 是可选的,默认情况下mode是r

    mode:

    r:以读方式打开

    w:以写方式打开 (文件不存在会创建,存在的话,会清空文件,很危险)

    a:以追加的方式打开

    r+:以读写模式打开

    w+:以读写模式打开

    a+:以读写模式打开

    rb:以二进制读模式打开(特殊文件需要用文本模式传输的话,建议使用b)

    wb:以二进制写模式打开

    ab:以二进制追加模式打开

    方法:

    fd = open('/tmp/test.txt','r')

    以读模式打开,可以利用一个变量去接收,注意这个变量是一个文件对象

    fd.close()

    关闭打开的文件,(修改等操作,只有关闭了文件,才会生效)

    fd.write("123")

    写入(需要写模式),注意写入的内容必须是一个字符串。

    fd.read(int)

    一次性读取文件所有内容,那么再次执行read()方法的时候,指针在末尾,所以就为空了。如果指定了int,那么就只读取int个字符

    fd.readline()

    一行一行读取,返回字符串,当指针到文件默认,返回空

    fd.readlines()

    一次读取所有行,并把每一个行当成一个元素,存储在序列中(如果文件很大,那么非常占内存)

    fd.next()

    第一读取一行,知道行尾,到行尾的时候会报错

    展开全文
  • 遍历文件夹

    2018-06-11 23:19:19
    import java.io.File; import java.util.ArrayList; import java.util.concurrent.... * 遍历文件夹 */ public class TraversalFolder { /** * 深度优先遍历文件夹 * <p> * 要点:...
    import java.io.File;
    import java.util.ArrayList;
    import java.util.concurrent.LinkedBlockingQueue;
    
    /**
     * 遍历文件夹
     */
    public class TraversalFolder {
    
        /**
         * 深度优先遍历文件夹
         * <p>
         * 要点:使用递归的方式来实现。
         *
         * @param topFile
         * @param orderedList
         */
        public static void depthFirstSearch(File topFile, ArrayList<File> orderedList) {
    
            if (null != topFile) {
                if (topFile.isDirectory()) {
                    File[] files = topFile.listFiles();
                    for (File file : files) {
                        if (file.isDirectory()) {
                            depthFirstSearch(file, orderedList);
                        } else {
                            orderedList.add(file);
                        }
                    }
                } else {
                    orderedList.add(topFile);
                }
            }
        }
    
        /**
         * 广度优先遍历文件夹
         * <p>
         * 要点:利用栈的先进后出的特点来实现。
         *
         * @param topFile
         * @param orderedList
         * @param maxNum
         */
        public static void breadthFirstSearch(File topFile, ArrayList<File> orderedList, int maxNum) {
    
            if (null != topFile) {
    
                LinkedBlockingQueue<File> queue = new LinkedBlockingQueue<File>(maxNum);
                queue.offer(topFile);
    
                while (!queue.isEmpty()) {
    
                    File file = queue.poll();
                    if (file.isDirectory()) {
                        File[] files = file.listFiles();
                        for (File f : files) {
                            if (f.isDirectory()) {
                                queue.offer(f);
                            } else {
                                orderedList.add(f);
                            }
                        }
                    } else {
                        orderedList.add(file);
                    }
                }
            }
        }
    
    
        public static void main(String[] args) {
    
            String path = "C:\\Users\\jxn\\Desktop\\新建文件夹(3)";
            File topFile = new File(path);
    
            ArrayList<File> orderedList = new ArrayList<>();
    
    //        depthFirstSearch(topFile,orderedList);
            breadthFirstSearch(topFile, orderedList, 100);
    
            orderedList.stream().forEach((x) -> {
                System.out.println(x.getAbsoluteFile());
            });
    
        }
    }

    展开全文
  • C#遍历文件夹获取文件夹大小都需要引入System.IO这个命名空间第一种方法:public static long GetDirectoryLength(string dirPath){//判断给定的路径是否存在,如果不存在则退出if (!Directory.Exists(dirPath))...

    C#遍历文件夹获取文件夹大小

    都需要引入System.IO这个命名空间

    第一种方法:

    public static long GetDirectoryLength(string dirPath)

    {

    //判断给定的路径是否存在,如果不存在则退出

    if (!Directory.Exists(dirPath))

    return 0;

    long len = 0;

    //定义一个DirectoryInfo对象

    DirectoryInfo di = new DirectoryInfo(dirPath);

    //通过GetFiles方法,获取di目录中的所有文件的大小

    foreach (FileInfo fi in di.GetFiles())

    {

    len += fi.Length;

    }

    //获取di中所有的文件夹,并存到一个新的对象数组中,以进行递归

    DirectoryInfo[] dis = di.GetDirectories();

    if (dis.Length > 0)

    {

    for (int i = 0; i < dis.Length; i++)

    {

    len += GetDirectoryLength(dis[i].FullName);

    }

    }

    return len;

    }

    第二种方法

    也是利用递归的思想,只不过是通过File类的Exits方法来判断

    所给路径中所对应的是否为文件

    //也是利用递归的思想,只不过是通过File类的Exits方法来判断

    //所给路径中所对应的是否为文件

    public static long FileSize(string filePath)

    {

    long temp = 0;

    //判断当前路径所指向的是否为文件

    if (File.Exists(filePath) == false)

    {

    string[] str1 = Directory.GetFileSystemEntries(filePath);

    foreach (string s1 in str1)

    {

    temp += FileSize(s1);

    }

    }

    else

    {

    //定义一个FileInfo对象,使之与filePath所指向的文件向关联,

    //以获取其大小

    FileInfo fileInfo = new FileInfo(filePath);

    return fileInfo.Length;

    }

    return temp;

    }

    其实删除文件夹的思想与这个是一样的,设置要简单很多,

    只要简单的判断一下当前的是文件还是文件夹,如果是文件则删除.是文件夹则递归

    展开全文
  • 利用VS创建一个winform应用...具体程序如下:namespace 遍历文件夹及其所有文件{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs ...
  • VC++ 遍历文件夹自动生成目录树 VC++ 遍历文件夹自动生成目录树
  • usingSystem;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.IO;namespaceConsoleApp4{classProgram{static void Main(string[] args){var path = ...//递归遍历文件夹Stopwatch sw = newSto...
  • C#遍历指定文件夹中的所有文件DirectoryInfo TheFolder=new ...//遍历文件夹foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories())this.listBox1.Items.Add(NextFolder.Name);//遍历文件foreach(Fi...
  • 1、python遍历文件夹首先介绍python下的 glob 模块:可以很方便的在进行图像批处理时遍历文件夹下所有图像。#coding:utf-8import glob as gb #导入glob模块import cv2# 返回该路径下所有的 jpg 文件的路径img_path =...
  • 在项目中大家肯定偶尔会有遍历文件夹的需求,还在老老实实写递归么?!那怕是骚一点的linq递归,其实都太麻烦了,微软爸爸早就想到我们有这样的需求,直接在框架内部已经实现好了。遍历文件夹其实只需要一个函数就...
  • Java遍历文件夹的2种方法:A.不使用递归:import java.io.File;import java.util.LinkedList;public class FileSystem {public static void main(String[] args) {long a = System.currentTimeMillis();LinkedList ...
  • 本篇文章给大家带来的内容是关于php遍历文件夹下所有文件的代码示例,有一定的参考价值,有需要的朋友...不论是面试还是正常工作需要都会用到遍历文件夹下的所有文件,今天就记录一下笔记。废话不多说直接上代码:...
  • 本文要求遍历指定文件夹下的所有文件,包括子文件夹下的文件,供大家参考,具体内容如下代码:package 遍历文件夹所有文件;import java.io.File;public class Test {public static void main(String[] args){File ...
  • 新建一个遍历文件夹的方法,参数是已创建的文件对象,递归调用自己。import java.io.File;public class BianLi{public static void huoQuMuLu(File a) {File[] fd = a.listFiles(); //获取目录数组for(int i=0;...
  • 利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作。如:对文件进行重命名,对某一类文件进行重编码。可以对某一工程下的全部.java文件进行转码成utf-8等代码如下,这里只对文件进行重命名操作package ...
  • 遍历指定文件夹下的所有文本夹,首先,获取所有的文件夹;其次,从找到的第一个文件开始,循环查找,直到没有文件为止,最后,将文件目录和文件名组合,并存放到数组中
  • 测试对比File类递归与SimpleFileVisitor类遍历文件夹的耗时: package other; import java.io.File; import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; import ...
  • 闲来无事,写了个小程序删除内存卡中大于50m的文件# filename itertaorfilefolderimport osimport os.pathfilePath = raw_input('Enter filepath : ')#遍历文件夹#三个参数:分别返回1.父目录 2.所有文件夹名字(不含...
  • 用途:最近尝试深度学习分类,为了导出模型识别出的每类数据到指定文件夹,于是遇到了这个问题,解决方法如下:(1)达到效果:原文件所在路径:移动后:(2)代码:import (3)代码解析:1)遍历文件夹下所有文件...
  • 遍历文件夹下所有文件,一般可以使用opendir 与 readdir 方法来遍历。$path = dirname(__FILE__);$result = traversing($path);print_r($result);function traversing($path){$result = array();if($handle = ...
  • importosimportos.pathrootdir=“d:\data”#指明被遍历文件夹forparent,dirnames,filenamesinos.walk(rootdir):#三个参数:分别返回1.父目录2.所有文件夹名字(不含路径)3.所有文件名字fordirnameindi...
  • c语言遍历文件夹

    2017-05-26 13:26:32
    c语言遍历文件夹

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,110
精华内容 5,244
关键字:

遍历文件夹