华为云AI开发平台ModelArtsmox.file与本地接口的对应关系和切换_云淘科技

API对应关系

Python:指本地使用Python对本地文件的操作接口。支持一键切换为对应的MoXing文件操作接口(mox.file)。
mox.file:指MoXing框架中用于文件操作的接口,其与python接口一一对应关系。
tf.gfile:指MoXing文件操作接口一一对应的TensorFlow相同功能的接口,在MoXing中,无法自动将文件操作接口自动切换为TensorFlow的接口,下表呈现内容仅表示功能类似,帮助您更快速地了解MoXing文件操作接口的功能。

表1 API对应关系

Python(本地文件操作接口)

mox.file(MoXing文件操作接口)

tf.gfile(TensorFlow文件操作接口)

glob.glob

mox.file.glob

tf.gfile.Glob

os.listdir

mox.file.list_directory(…, recursive=False)

tf.gfile.ListDirectory

os.makedirs

mox.file.make_dirs

tf.gfile.MakeDirs

os.mkdir

mox.file.mk_dir

tf.gfile.MkDir

os.path.exists

mox.file.exists

tf.gfile.Exists

os.path.getsize

mox.file.get_size

os.path.isdir

mox.file.is_directory

tf.gfile.IsDirectory

os.remove

mox.file.remove(…, recursive=False)

tf.gfile.Remove

os.rename

mox.file.rename

tf.gfile.Rename

os.scandir

mox.file.scan_dir

os.stat

mox.file.stat

tf.gfile.Stat

os.walk

mox.file.walk

tf.gfile.Walk

open

mox.file.File

tf.gfile.FastGFile(tf.gfile.Gfile)

shutil.copyfile

mox.file.copy

tf.gfile.Copy

shutil.copytree

mox.file.copy_parallel

shutil.rmtree

mox.file.remove(…, recursive=True)

tf.gfile.DeleteRecursively

一键切换

您可以通过一行代码,将表1中OS的API映射到mox.file下。将以下代码写到启动脚本的最前面,在之后的Python运行中,当调用表格第一列的OS相关的API时,会自动映射到第二列mox.file的API。

1
2
import moxing as mox
mox.file.shift('os', 'mox')

在做完shift之后,可以直接通过os.listdir或者open方法操作OBS目录或文件,样例代码如下所示。

1
2
3
4
5
6
7
8
import os 
import moxing as mox  

mox.file.shift('os', 'mox')  

print(os.listdir('obs://bucket_name')) 
with open('obs://bucket_name/hello_world.txt') as f:
   print(f.read())

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家