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

  • 相关阅读:
    使用 requests 维持会话
    使用 requests 发送 POST 请求
    使用 requests 发送 GET 请求
    requests 安装
    使用 urllib 分析 Robots 协议
    使用 urllib 解析 URL 链接
    使用 urllib 处理 HTTP 异常
    使用 urllib 处理 Cookies 信息
    使用 urllib 设置代理服务
    按单生产程序发布
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/9695772.html
Copyright © 2011-2022 走看看