On 12/06/2019 05:59, dieter wrote:
Robin Becker <ro...@reportlab.com> writes:
I am trying to convert older code that uses ftplib as the endpoint has switched
to sftp only.
I am using the pysftp wrapper around paramiko.
The following script fails
def main():
import pysftp
with pysftp.Connection('ftp.remote.com', username='me', password='xxxxxx')
as sftp:
print('top level')
print(sftp.listdir())
print(sftp.normalize(u'XXXX'))
From the "sftp" documentation:
| normalize(self, remotepath)
| Return the expanded path, w.r.t the server, of a given path. This
| can be used to resolve symlinks or determine what the server believes
| to be the :attr:`.pwd`, by passing '.' as remotepath.
This suggests that your observation could be explained
by "u'XXXX'" being a broken symlink.
Well with real sftp I can cd to that path so if it is a symlink it goes
somewhere.
With pysftp I am unable to chdir or cd into it. With a bit of difficulty I can use subprocess + sshpass + sftp to do the required
transfer.
--
Robin Becker
--
https://mail.python.org/mailman/listinfo/python-list