Python Paramiko删除获取或打开文件
我试图使用paramiko的SFTP模块从远程服务器读取文件,但任何时候我打电话
sftp.get('remote_filename', 'local_destination')它从服务器上删除'remote_filename'。
我也尝试直接使用文件对象
sftp.file('remote_filename')但打开后仍然会删除文件。 谁能告诉我为什么会发生这种情况?
这是一个以文件名作为参数并返回SFTP File对象的示例函数:
import paramiko, socks, os def get_file(filename): sock = socks.socksocket() username = 'username' key = paramiko.DSSKey.from_private_key_file(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'id_dsa'), password=os.environ.get('PKEY_PASSWORD')) host = 'myftpserver.com' port = 22 # Connect to server sock.connect((host, port)) transport = paramiko.Transport(sock) transport.connect(username=username, pkey=key) sftp = paramiko.SFTPClient.from_transport(transport) return sftp.file(filename)
谢谢
尝试这个
import paramiko
import os
paramiko.util.log_to_file("C:DocsPersonalMovieslog.log")
host = "10.22.16.5"
port = 22
transport = paramiko.Transport((host, port))
# Auth
password = "whpee"
username = "root"
transport.connect(username = username, password = password)
# Go!
sftp = paramiko.SFTPClient.from_transport(transport)
# Download
localfile="C:DocsPersonalMoviestemp.txt"
remotefile="/root/temp.txt"
sftp.get(remotefile,localfile)
如果仍在删除,请检查日志文件
链接地址: http://www.djcxy.com/p/33643.html