python - 使用 fabric.operations.put() 创建远程目录

标签 python sftp fabric

我需要将一些文件放到远程 sftp 服务器上,创建一个新目录来放置它们。有没有办法使用 fabric 做到这一点? Fabric.operations.put() 看起来无法在远程端创建新目录。

最佳答案

在调用 put() 之前运行 mkdir :

run('mkdir -p /path/to/dir/')

put('/local/path/to/myfile', '/path/to/dir/')

-p flag处理创建嵌套目录,请参阅:

-p, --parents

no error if existing, make parent directories as needed


更新(仅用于 sftp 访问)。

使用 SFTP.mkdir() :

from contextlib import closing
from fabric.sftp import SFTP

ftp = SFTP(env.host_string)
with closing(ftp) as ftp:
    ftp.mkdir('/path/to/dir/', use_sudo=False)

put('/local/path/to/myfile', '/path/to/dir/')

关于python - 使用 fabric.operations.put() 创建远程目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946974/

相关文章:

python - 使用 IDE 调试 Fabfile

python - Pandas 将 DF 传播到指标 DF

Python、.format() 和 UTF-8

Python pandas dataframe 每 n 行 1 个非零和非 NaN 属性

linux - 有不同的 sudo 和 SFTP 密码?

java - Java中如何转换字符集?

python - 将列名称从字符串更改为 float

c# - SFTP 连接 DNS 问题 - System.Net.Sockets.SocketException : The requested name is valid, 但未找到请求类型的数据

tomcat - 如何以另一个用户身份使用 sudo 通过 Fabric 启动 tomcat?

python - Paramiko 的 Read 方法都不适合我?