有很多关于 'latin-1' codec 的帖子,但是这些答案并不能解决我的问题,也许是我的问题,我只是学习 Python 的菜鸟,有点。当我cwd(dirname)以前改变FTP站点的目录时,发生了unicodeerror。请注意,dirname包含中文字符,显然,这些字符会导致此错误。我按照之前帖子里的建议做了一些编码和解码,但没有奏效。有人能给我一些建议如何修复这个错误并使其cwd工作吗?
一些代码:
file = 'myhongze.jpg'
dirname = './??????/zgcao/test-python/'
site = '***.***.***.***'
user = ('zhigang',getpass('Input Pwd:'))
ftp = FTP(site)
ftp.login(*user)
ftp.cwd(dirname)# throw exception
Run Code Online (Sandbox Code Playgroud)
一些测试:
file = 'myhongze.jpg'
dirname = './??????/zgcao/test-python/'
site = '***.***.***.***'
user = ('zhigang',getpass('Input Pwd:'))
ftp = FTP(site)
ftp.login(*user)
ftp.cwd(dirname)# throw exception
Run Code Online (Sandbox Code Playgroud)
输出:
u'./??????/zgcao/test-python/'.encode('utf-8')
Run Code Online (Sandbox Code Playgroud)
b'./\xe9\xa1\xb9\xe7\x9b\xae\xe6\x88\x90\xe5\x91\x98\xe8\xb5\x84\xe6\x96\x99/zgcao/test-python/'
Run Code Online (Sandbox Code Playgroud)
输出:
u'./??????/zgcao/test-python/'.encode('utf-8').decode('cp1252')
Run Code Online (Sandbox Code Playgroud)
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 10: character maps to <undefined>
Run Code Online (Sandbox Code Playgroud)
输出:
u'./??????/zgcao/test-python/'.encode('utf-8').decode('latin-1')
Run Code Online (Sandbox Code Playgroud)
值得注意的是,??????被表现为ÏîÄ¿×é³ÉԱ˽È˿ռä当我用 …