Fabric模块提供了一个非常方便的方法来实现文件上传,即 `put()` 方法¹⁵。以下是一个示例:
```python
from fabric import Connection
def upload_file(remote_host, user, password, local_file_path, remote_path):
# 创建一个连接
c = Connection(host=remote_host, user=user, connect_kwargs={"password": password})
# 使用 put 方法上传文件
result = c.put(local_file_path, remote_path)
# 输出结果
print("Uploaded {0.local} to {0.remote}".format(result))
# 使用示例
upload_file('192.168.1.100', 'user', 'passwd', './local_file.txt', '/remote/directory')
```
在这个示例中,`upload_file` 函数接受五个参数:`remote_host`(远程主机的IP地址或主机名),`user`(远程主机的用户名),`password`(远程主机的密码),`local_file_path`(本地文件的路径),和 `remote_path`(远程主机上的目标路径)。
`put()` 方法将 `local_file_path` 参数指定的本地文件上传到 `remote_path` 参数指定的远程路径。上传完成后,它返回一个结果对象,该对象包含了一些关于上传操作的信息,如本地文件路径(`result.local`)和远程文件路径(`result.remote`)¹⁵。
请注意,你需要确保你有足够的权限在远程路径上写入文件。如果你没有,可能需要使用 `sudo` 来提升权限。你可以查看 [Fabric的官方文档](^2^) 来获取更多信息。希望这些信息对你有所帮助!