Antoon Pardon <antoon.par...@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 -- https://mail.python.org/mailman/listinfo/python-list