Python ftplib-指定端口

Python ftplib-指定端口,python,ftp,ftplib,Python,Ftp,Ftplib,我想使用Python的ftplib客户端指定端口(而不是默认端口21) 代码如下: from ftplib import FTP ftp = FTP('localhost') # connect to host, default port 有没有一种简单的方法来指定替代端口?找到了答案。实例化FTP对象,然后在其上运行connect,如下所示: >>> from ftplib import FTP >>> HOST = "localhost" >>

我想使用Python的ftplib客户端指定端口(而不是默认端口21)

代码如下:

from ftplib import FTP
ftp = FTP('localhost') # connect to host, default port

有没有一种简单的方法来指定替代端口?

找到了答案。实例化FTP对象,然后在其上运行connect,如下所示:

>>> from ftplib import FTP
>>> HOST = "localhost"
>>> PORT = 12345 # Set your desired port number
>>> ftp = FTP()
>>> ftp.connect(HOST, PORT)
from ftplib import FTP
ftp = FTP()
ftp.connect('localhost', 2121)
是的,你可以用


在搜索了许多解决方案后,和
connect
命令的组合解决了我的问题

from ftplib import FTP_TLS

host = 'host'
port = 12345
usr = 'user'
pwd = 'password'
ftps = FTP_TLS()
ftps.connect(host, port)
# Output: '220 Server ready for new user.'
ftps.login(usr, pwd)
# Output: '230 User usr logged in.'
ftps.prot_p()
# Output: '200 PROT command successful.'
ftp.nlst()
# Output: ['mysubdirectory', 'mydoc']
如果您使用的是普通FTP而不是FTPS,只需使用
ftplib.FTP

from ftplib import FTP_TLS

host = 'host'
port = 12345
usr = 'user'
pwd = 'password'
ftps = FTP_TLS()
ftps.connect(host, port)
# Output: '220 Server ready for new user.'
ftps.login(usr, pwd)
# Output: '230 User usr logged in.'
ftps.prot_p()
# Output: '200 PROT command successful.'
ftp.nlst()
# Output: ['mysubdirectory', 'mydoc']