在遇到unicode问题后,我一直在将一些Python 2.7.11代码迁移到3.5.1。这是最后一根稻草 - 自从我开始使用venv模块以来,没有理由因为有人不喜欢3而进入2.7!
尝试运行单向同步时发生问题(即仅下载更改)。
以下是完整的错误消息,缩短了路径:
Traceback (most recent call last):
File "%SCRIPT%.py", line 209, in <module>
updated_schedules = dbx_sync.One_Way_Sync(config['Dropbox Parameters']['Directory'], config['Dropbox Parameters']['Base Path'])
File "%COMMON_PATH%\modules\dropbox_sync_schedules.py", line 62, in One_Way_Sync
result = client.delta(cursor, base_path)
File "%COMMON_PATH%\env-home\lib\site-packages\dropbox\client.py", line 569, in delta
return self.rest_client.POST(url, params, headers)
File "%COMMON_PATH%\env-home\lib\site-packages\dropbox\rest.py", line 322, in POST
return cls.IMPL.POST(*n, **kw)
File "%COMMON_PATH%\env-home\lib\site-packages\dropbox\rest.py", line 260, in POST
is_json_request=is_json_request)
File "%COMMON_PATH%\env-home\lib\site-packages\dropbox\rest.py", line 235, in request
raise ErrorResponse(r, r.read())
dropbox.rest.ErrorResponse: [400] 'Invalid "cursor" parameter: u"b\'\'"'
搜索“无效的游标参数”没有任何帮助,所以我以为我会来这里。
答案 0 :(得分:0)
u"b\'\'"
是关键所在。我只是无法理解这种表示最终是如何以字符串形式发送的。
问题在于从文件中读取旧游标(对于此示例为空):在Python 2中我以模式rb
打开文件 - 在Python 3中只有r
全部这是必需的,一切正常。
乌拉!