zoukankan      html  css  js  c++  java
  • tf.gfile

    一、功能和目的

    tf.gfile模块定义在tensorflow/python/platform/gfile.py,但其源代码实现主要位于tensorflow/tensorflow/python/lib/io/file_io.py。

    它具有如下特点:

    • tf.gfile是没有线程锁的文件IO操作库
    • 它提供和Python File类似的功能
    • Tensorflow“大本营”是C++编写的,Python只是提供了API接口,Tensorflow C++版提供了一套文件IO接口,Python化一下即得tf.gfile
    • 它支持云存储,可以像操作本地文件一样操作云
    • 速度快,比Python自带的文件操作快

    二、全部tf.gfile API

    tf.gfile写得非常简单,源码很短,如果想彻底掌握,可以去阅读源码。我们很容易就能够一睹全貌。

    tf.gfile主要包括2个类和12个函数。两个类为:

    • class FastGFile
      tf.gfile.GFile(filename, mode)
      获取文本操作句柄,类似于python提供的文本操作open()函数,filename是要打开的文件名,mode是以何种方式去读写,将会返回一个文本操作句柄。
      tf.gfile.Open()是该接口的同名,可任意使用其中一个!
    • class GFile
      tf.gfile.FastGFile(filename, mode)
      该函数与tf.gfile.GFile的差别仅仅在于“无阻塞”,即该函数会无阻赛以较快的方式获取文本操作句柄。

    下面将分别介绍12个gfile 函数。

    1、tf.gfile.Copy(oldpath, newpath, overwrite=False)

    拷贝源文件并创建目标文件,无返回,其形参说明如下:

    • oldpath:带路径名字的拷贝源文件;
    • newpath:带路径名字的拷贝目标文件;
    • overwrite:目标文件已经存在时是否要覆盖,默认为false,如果目标文件已经存在则会报错

    2、tf.gfile.MkDir(dirname)

    创建一个目录,dirname为目录名字,无返回。

    3、tf.gfile.Remove(filename)

    删除文件,filename即文件名,无返回。

    4、tf.gfile.DeleteRecursively(dirname)

    递归删除所有目录及其文件,dirname即目录名,无返回。

    5、tf.gfile.Exists(filename)

    判断目录或文件是否存在,filename可为目录路径或带文件名的路径,有该目录则返回True,否则False。

    6、tf.gfile.Glob(filename)

    查找匹配pattern的文件并以列表的形式返回,filename可以是一个具体的文件名,也可以是包含通配符的正则表达式。

    7、tf.gfile.IsDirectory(dirname)

    判断所给目录是否存在,如果存在则返回True,否则返回False,dirname是目录名。

    8、tf.gfile.ListDirectory(dirname)

    罗列dirname目录下的所有文件并以列表形式返回,dirname必须是目录名。

    9、tf.gfile.MakeDirs(dirname)

    以递归方式建立父目录及其子目录,如果目录已存在且是可覆盖则会创建成功,否则报错,无返回。

    10、tf.gfile.Rename(oldname, newname, overwrite=False)

    重命名或移动一个文件或目录,无返回,其形参说明如下:

    • oldname:旧目录或旧文件;
    • newname:新目录或新文件;
    • overwrite:默认为false,如果新目录或新文件已经存在则会报错,否则重命名或移动成功。

    11、tf.gfile.Stat(filename)

    返回目录的统计数据,该函数会返回FileStatistics数据结构,可以用dir(tf.gfile.Stat(filename))获取返回数据的属性。

    12、tf.gfile.Walk(top, in_order=True)

    递归获取目录信息生成器,top是目录名,in_order默认为True指示顺序遍历目录,否则将无序遍历,每次生成返回如下格式信息(dirname, [subdirname, subdirname, ...], [filename, filename, ...])。

    参考资料

    https://blog.csdn.net/a373595475/article/details/79693430?utm_source=copy

  • 相关阅读:
    CSUFT 1002 Robot Navigation
    CSUFT 1003 All Your Base
    Uva 1599 最佳路径
    Uva 10129 单词
    欧拉回路
    Uva 10305 给任务排序
    uva 816 Abbott的复仇
    Uva 1103 古代象形文字
    Uva 10118 免费糖果
    Uva 725 除法
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/9695772.html
Copyright © 2011-2022 走看看