Skip to main content

rclone 的 Python 接口

项目描述

派克龙

Rclone 适用于您的 python 环境和虚拟环境。与 Rclone 二进制文件捆绑在一起,因此无需预先安装 Rclone。

安装

  • 安装会自动下载 rclone 二进制文件,因此无需先安装 rclone。
  • 运行以下命令进行安装:
    pip install pyclone-module
    

配置

  • 如果您已经预先安装了 rclone 并且想要使用该特定二进制文件,您可以使用以下pyclone.set_path() 方法设置路径:
    import pyclone
    pyclone.set_path(path=PATH_TO_RCLONE,config=PATH_TO_CONFIG)
    

用法

命令行界面

  • Pyclone 是一个包装器或 rclone,因此您可以使用在 rclone 中经常使用的相同命令。访问 rclone.org/commands 了解更多信息。

    user:~$ pyclone config
    

将 Pyclone 导入您的项目

  • 将 pyclone 导入您的项目以对rclone进行编程控制就像import pyclone. 进一步使用需要对某些类有一些了解。

    import pyclone
    pyc = pyclone.Pyclone()
    

Pyclone 类

Pyclone 中有三个主要的类:

  • pyclone.Pyclone()
  • pyclone.RemoteManager()
  • pyclone.Remote()

1.pyclone.Pyclone()

  • 这是负责与Rclone shell 通信的主要 pyclone 对象。你将主要处理这门课。像这样实例化它

    import pyclone
    pyc = pyclone.Pyclone()
    

1.1 pyclone.Pyclone().execute(命令)

  • Pyclone 利用该subprocess模块与 shell 通信,该execute方法允许您直接向 rclone 发送命令。命令必须是列表格式。这将返回一个Response对象,其中包含textstdoutstderrresponsecodeargs实例变量。

    >>> import pyclone
    >>> command = ['help']
    >>> pyc = pyclone.Pyclone()
    >>> response = pyc.execute(command)
    >>> print(reponse.responsecode)
    0 
    >>> print(repsponse.text)
    Ommited..
    ...
    ...
    

1.2 创建遥控器pyc.config_create()

  • import pyclone
    pyc = pyclone.Pyclone()
    pyc.config_create('remote_type', 'remote_name', 'remote@email.com', 'remote_pass')
    

1.3 删除遥控器pyc.config_delete()

  • pyc.config_delete('remote_name')
    

1.4 移动/复制pyc.copy()/pyc.move()

  • 请注意,遥控器必须在末尾附加一个冒号,最终看起来像: pyc.copy(file.zip, 'remote:')

    pyc.copy('src:path', 'dest:path')
    pyc.move('src:path', 'dest:path')
    

1.5 列出目录(ls)pyc.copy()/pyc.move()

  • pyc.ls('remote:path')
    

使用远程管理器和远程对象

2 pyclone.RemoteManager()

  • 远程管理器通过管理您的遥控器和扩展 Pyclone 和远程对象的功能将所有内容整合在一起。

    >>> import pyclone
    >>> remotes = pyclone.RemoteManager()
    >>> remotes.show()
    ['remote_A', 'remote_B']
    

1.2 创建/删除遥控器remotes.create()/remotes.delete()

  • remotes.create('remote_type', 'remote_name', 'remote@email.com', 'remote_pass')
    remotes.delete('remote_name')
    

远程对象

2.1 获取遥控器remotes.get_remote()

  • 这将返回一个Remote从 Pyclone 对象继承其大部分功能的对象。

    remote_A = remotes.get_remote('remote_A')
    

2.2 远程方法

  • remote.ls()
  • remote.copy('file', dl=False)
    • 如果dl=True这将从远程下载文件。
  • remote.move('file:path', dl=False)
    • 如果dl=True这将从远程下载文件。
  • remote.delete('file:path')
  • remote.size()

未来:

  • 非阻塞子进程
  • pyclone.Remote.check()

开发 pyclone

要安装 pyclone 以及开发和运行测试所需的所有工具,请在 virtualenv 中运行以下命令:

user:~$ pip install -e .[dev]

如果可以,请放弃一些反馈、错误和功能请求。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pyclone-module-1.53​​.5.tar.gz (9.0 kB 查看哈希

已上传 source