AttributeError: 'FTP' object has no attribute 'set_binary'
时间: 2023-06-21 20:17:14 浏览: 384
【Python】AttributeError: ‘AutoSchema’ object has no attribute ‘get_link’
5星 · 资源好评率100%
如果在使用`ftp.set_binary()`方法时出现`AttributeError: 'FTP' object has no attribute 'set_binary'`的错误,可能是因为`FTP`对象没有该方法。在Python 3中,`FTP`对象的二进制传输模式已经被默认启用,因此不再需要使用`set_binary()`方法来设置传输模式。
如果您的代码是在Python 2.x中编写的,您可能需要使用`ftp.transfercmd()`方法来启用二进制传输模式,例如:
```python
# Python 2.x
transfercmd = ftp.transfercmd('TYPE I')
```
如果您在使用Python 3时仍然想使用旧的`set_binary()`方法,可以手动定义该方法,例如:
```python
# Python 3.x
def set_binary(self):
self.voidcmd('TYPE I')
```
然后使用`ftp.set_binary()`方法来设置传输模式。不过,一般情况下不建议这样做,因为在Python 3中默认启用二进制传输模式可以减少代码的复杂性。
阅读全文