繁体   English   中英

使用Python在FTP服务器上的不同文件夹之间导航

[英]Navigating between different folders on FTP server with Python

我想使用Python的ftplib在同一FTP会话中的同一FTP服务器上的两个不同文件夹之间导航。

我编写的基本脚本如下(已分配gbname和gffname):

ensembl = FTP('ftp.ensemblgenomes.org')
ensembl.login()

ensembl.cwd("pub/fungi/current/genbank/")
ensembl.retrbinary('RETR ' + gbname, open(gbname, 'wb').write)

ensembl.cwd("pub/fungi/current/gff/")
ensembl.retrbinary('RETR ' + gffname, open(gffname, 'wb').write)

ensembl.quit()

此脚本在第二个cwd处回溯,并显示以下错误“ ftplib.error_perm:550无法更改目录”。

我了解为什么会在那里进行回溯,并且可以通过启动两个不同的FTP会话来解决此问题,如下所示:

ensemblgb = FTP('ftp.ensemblgenomes.org')
ensemblgb.login()
ensemblgb.cwd("pub/fungi/current/genbank/")
ensemblgb.retrbinary('RETR ' + gbname, open(gbname, 'wb').write)
ensemblgb.quit()

ensemblgff = FTP('ftp.ensemblgenomes.org')
ensemblgff.login()
ensemblgff.cwd("pub/fungi/current/gff/")
ensemblgff.retrbinary('RETR ' + gffname, open(gffname, 'wb').write)
ensemblegff.quit()

但是,我想知道,一旦将目录更改为“ pub / fungi / current / genbank /”,以后是否可以将其更改为“ pub / fungi / current / gff /”(可能通过在同一FTP会话中,而无需关闭它并打开一个新的会话。

干杯,

尼古拉

尝试在路径前面加上反斜杠-它代表根目录:

ensemblgff.cwd("/pub/fungi/current/gff/")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM