Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #71568

Re: python3; ftplib: TypeError: Can't convert 'bytes' object to str implicitly

From Akira Li <4kir4.1i@gmail.com>
Subject Re: python3; ftplib: TypeError: Can't convert 'bytes' object to str implicitly
Date 2014-05-14 20:24 +0400
References <53735242.2010406@rece.vub.ac.be>
Newsgroups comp.lang.python
Message-ID <mailman.10013.1400084668.18130.python-list@python.org> (permalink)

Show all headers | View raw


Antoon Pardon <antoon.pardon@rece.vub.ac.be> writes:

> This is the code I run (python 3.3)
>
> host = ...
> user = ...
> passwd = ...
>
> from ftplib import FTP
>
> ftp = FTP(host, user, passwd)
> ftp.mkd(b'NewDir')
> ftp.rmd(b'NewDir')
>
> This is the traceback
>
> Traceback (most recent call last):
>   File "ftp-problem", line 9, in <module>
>     ftp.mkd(b'NewDir')
>   File "/usr/lib/python3.3/ftplib.py", line 612, in mkd
>     resp = self.voidcmd('MKD ' + dirname)
> TypeError: Can't convert 'bytes' object to str implicitly
>
> The problem is that I do something like this in a backup program.
> I don't know the locales that other people use. So I manipulate
> all file and directory names as bytes.
>
> Am I doing something wrong?

The error message shows that ftplib expects a string here, not bytes.
You could use `ftp.mkd(some_bytes.decode(ftp.encoding))` as a
workaround.


--
akira

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: python3; ftplib: TypeError: Can't convert 'bytes' object to str implicitly Akira Li <4kir4.1i@gmail.com> - 2014-05-14 20:24 +0400

csiph-web