rename接口

接口功能

重命名MemFS中处于同一父目录中的文件或文件夹,不会重命名UnderFS中的文件或者文件夹。

接口格式

torch_mindio.rename(src, dst, option='no_replace')

接口参数

参数

是否必选

说明

取值要求

src

必选

重命名的源路径或源文件,源路径或源文件必须存在。

有效UnderFS路径或文件,src与dst需处于同一父目录中。

dst

必选

重命名的目的路径或目的文件。

  • 重命名方式为no_replace时,目的路径或目的文件不能存在。
  • 重命名方式为exchange时,目的路径或目的文件必须存在。
  • 其他情况下,目的路径或目的文件可以存在。

有效UnderFS路径或文件,src与dst需处于同一父目录中。

option

可选

重命名方式,默认值为no_replace,具体方式如下:

  • zero:

    目的路径不存在,命名成功;源和目的都是文件,目的文件会被源文件覆盖;源和目的都是文件夹,如果目的文件夹为空,则会被覆盖,否则返回错误;源和目的的路径或文件都存在,但是类型不同的情况下,会返回错误。

  • no_replace:

    与zero相同,但是目的路径或目的文件存在时,会返回错误。

  • exchange:

    交换源和目的的路径或文件,源和目的的路径或文件必须都存在且类型必须相同,否则返回错误。

  • force:

    与zero相同,但是目的路径或目的文件存在时,会用源覆盖。

  • zero
  • no_replace
  • exchange
  • force

使用样例

>>> # rename file or directory in memfs
>>> torch_mindio.rename('/mnt/dpc01/checkpoint/checkpoint-last-tmp', '/mnt/dpc01/checkpoint/checkpoint-last', option='no_replace')

返回值