python sftp_Python安全FTP模块[sftp]

本文介绍了Python中的sftp模块pysftp,它基于paramiko和pycrypto,提供简单易用的SFTP接口。内容包括pysftp的特性、安装方法、基本使用示例,如列出远程目录、下载/上传文件,以及连接参数的介绍。通过这个指南,读者可以了解如何在Python中安全地进行文件交换。

总览

在上一篇文章中,我们介绍了Python中的ftplib模块,您可以阅读有关的更多信息,见:《

pysftp是什么?

pysftp是一个易于使用的sftp模块,它利用了paramiko和pycrypto。它提供了一个简单的sftp接口。

pysftp的一些特性是:

自动优雅地处理RSA和DSS私钥文件。

支持加密的私钥文件。

可以启用/禁用日志记录

我为什么要使用pysftp?

当您想在python中通过Internet安全地交换文件时。

如何安装pysftp?

pysftp在PyPi上列出,可以使用pip安装。

# Search for pysftp

pip search pysftp

pysftp # - A friendly face on SFTP

#Install pysftp

pip install pysftp

如何使用pysftp?

使用pysftp很容易,我们将展示一些有关如何使用它的示例:

列出远程目录

要连接到我们的FTP服务器,我们首先必须导入pysftp模块并指定(如果适用)服务器,用户名和密码凭据。

运行该程序后,您应该看到FTP服务器当前目录下的所有文件和目录。

import pysftp

srv = pysftp.Connection(host="your_FTP_server", username="your_username",

password="your_password")

# Get the directory and file listing

data = srv.listdir()

# Closes the connection

srv.close()

# Prints out the directories and files, line by line

for i in data:

print i

连接参数介绍

参数

描述

host

远程计算机的主机名。

username

在远程计算机上的用户名。(默认None)

private_key

私钥文件。(默认None)

password

在远程计算机上的密码。(默认None)

port

远程计算机的SSH端口。(默认22)

private_key_pass

如果使用加密的private_key,则为对应密码(默认None)

log

是否输出日志,连接/握手详细信息(默认False)

下载/上传远程文件

与前面的示例一样,我们首先导入pysftp模块并指定(如果适用)服务器,用户名和密码凭据。

我们还导入sys模块,因为我们希望用户指定要下载/上传的文件。

import pysftp

import sys

# Defines the name of the file for download / upload

remote_file = sys.argv[1]

srv = pysftp.Connection(host="your_FTP_server", username="your_username",

password="your_password")

# Download the file from the remote server

srv.get(remote_file)

# To upload the file, simple replace get with put.

srv.put(remote_file)

# Closes the connection

srv.close()

下一步怎么做?

上面已经是完整的sftp连接过程了,接下来可以试一试脚本,进行更改,看看会发生什么。尝试添加错误处理。

如果不传递任何参数怎么办?或者通过提示输入来向程序添加一些交互。

A-48-1024x586.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值