python - 使用 ftplib 访问 FTP URL
问题描述
我在带有 ftplib 的 Windows 中使用 python 来访问 ftp5.xyz.eu 的文件夹。
该文件夹是文件夹“foo bar”中的 ftp5.xyz.eu 中的“baz”。所以:ftp5.xyz.eu/foo bar/baz
我在 ftp5.xyz.eu 成功连接,但是当我将整个路径写入文件夹时,它给了我一个错误:
from ftplib import FTP
#domain name or server ip:
ftp = FTP('ftp5.xyz.eu/foo%20bar')
...
ftp.dir()
错误如下:
File "C:\Users\mirel.voicu\AppData\Local\Programs\Python\Python37\lib\ftplib.py", line 117, in __init__
self.connect(host)
File "C:\Users\mirel.voicu\AppData\Local\Programs\Python\Python37\lib\ftplib.py", line 152, in connect
source_address=self.source_address)
File "C:\Users\mirel.voicu\AppData\Local\Programs\Python\Python37\lib\socket.py", line 707, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "C:\Users\mirel.voicu\AppData\Local\Programs\Python\Python37\lib\socket.py", line 748, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed
解决方案
这与空间无关。FTP
构造函数的第一个参数是host
-主机名或IP 地址- 而不是URL。
所以应该是:
ftp = FTP('ftp5.xyz.eu')
如果要列出子文件foo bar
夹中的文件,请执行以下操作:
ftp.cwd('foo bar')
ftp.dir()
或者
ftp.dir('foo bar')
推荐阅读
- python - Kafka Producer Client Python 代码不起作用
- excel - 侧载插件被阻止
- r - 从 R 中指定距离内的第二个数据帧中识别点
- kotlin - Mockk:如何模拟保存对象时生成的对象 ID(答案 + vararg)
- redis - 如何在 Redis 中启用 ACL 功能
- python - 外部任务失败时气流外部任务传感器不会失败
- jsf - WebAppNotLoadedException : UIleaf 不可见
- python - 如何同时检测python中的多个按键?
- php - 如何在 Woocommerce 中为每个订单项目内爆一系列项目详细信息?
- html - 彼此下方的 HTML Div 内容