Module: tf.gfile
没有线程锁的文件I / O操作包装器
Defined in tensorflow/python/platform/gfile.py
.
Import router for file_io.
Classes
三个类继承于同一个父类,效果类似
class FastGFile
: File I/O wrappers without thread locking.
class GFile
: File I/O wrappers without thread locking.
class Open
: File I/O wrappers without thread locking.
Functions
1)tf.gfile.Copy(oldpath, newpath, overwrite=False)
拷贝源文件并创建目标文件,无返回,其形参说明如下:
oldpath:带路径名字的拷贝源文件;
newpath:带路径名字的拷贝目标文件;
overwrite:目标文件已经存在时是否要覆盖,默认为false,如果目标文件已经存在则会报错
2)tf.gfile.DeleteRecursively(dirname)
递归删除所有目录及其文件,dirname即目录名,无返回。
3)tf.gfile.Exists(filename)
判断目录或文件是否存在,filename可为目录路径或带文件名的路径,有该目录则返回True,否则False。
4)tf.gfile.Glob(filename)
查找匹配pattern的文件并以列表的形式返回,filename可以是一个具体的文件名,也可以是包含通配符的正则表达式。
5)tf.gfile.IsDirectory(dirname)
判断所给目录是否存在,如果存在则返回True,否则返回False,dirname是目录名。
6)tf.gfile.ListDirectory(dirname)
罗列dirname目录下的所有文件并以列表形式返回,dirname必须是目录名。
7)tf.gfile.MakeDirs(dirname)
以递归方式建立父目录及其子目录,如果目录已存在且是可覆盖则会创建成功,否则报错,无返回。
8)tf.gfile.MkDir(dirname)
创建一个目录,dirname为目录名字,无返回。
9)tf.gfile.Remove(filename)
删除文件,filename即文件名,无返回。
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, ...])。
案例——图片读取
import tensorflow as tf
import matplotlib.pyplot as plt
#读取图片
jpg=tf.gfile.FastGFile('./data/content/chicago.jpg',mode='rb').read()
#解码图片
jpg_decode=tf.image.decode_jpeg(jpg)
#jpg_cast=tf.cast(jpg_decode,tf.float32)
with tf.Session() as sess:
jpg_decode=jpg_decode.eval()
#jpg_decode = jpg_cast.eval()
print(jpg_decode)
plt.imshow(jpg_decode)
plt.show()