Python中文
首页
教程
问答
标签
搜索
登录
注册
无法对发布/订阅消息中的列表进行编码
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正试图在python3.7中发布来自云函数的发布/订阅消息。消息是一个列表对象,我正试图对其进行编码并发布到发布/订阅主题</p> <p>代码如下: <code>projects_list=[['test-main', 'my-project']]</code>#这是我要通过的名单</p> <pre><code>for projects in projects_list: topic_name = 'projects/{project_id}/topics/{topic}'.format( project_id=os.getenv('GOOGLE_CLOUD_PROJECT'), topic='topictest' ) projectsjson=json.dumps(projects) #I am converting the list to json object message = { "data": base64.b64encode(projectsjson), #this line throws type error "attributes": { "batch_start_time": batch_start_time, } } </code></pre> <p>错误:</p> <pre><code>**TypeError**: a bytes-like object is required, not 'str' </code></pre> <p>如果我直接传递列表对象</p> <pre><code> message = { "data": base64.b64encode(projects), #this line throws type error "attributes": { "batch_start_time": batch_start_time, } } </code></pre> <p>我得到这个错误:</p> <pre><code>**TypeError**: a bytes-like object is required, not 'list' </code></pre> <p>有人能帮忙吗?谢谢</p> <p><strong>更新:</strong> 根据下面的回答,我对代码做了以下更改:</p> <pre><code> message = { "data": base64.b64encode(bytes(projectsjson,encoding='utf8')), "attributes": { "batch_start_time": batch_start_time, } } </code></pre> <p>但是,当我调用下面的publish方法时,会进行编码:</p> <pre><code>response = service.projects().topics().publish( topic=topic_name, body=body ).execute() </code></pre> <p>我得到这个错误:</p> <pre><code>TypeError: Object of type bytes is not JSON serializable </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>以下代码更改对我有效:</p> <pre><code>message = { "data": base64.b64encode(bytes(projectsjson,encoding="utf8")).decode(), "attributes": { "batch_start_time": batch_start_time, } } </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
7 回答
我想从用户导入值,为此
5 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
2 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
5 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
2 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
3 回答
我想从第一个空lin开始解析文本文件
4 回答
我想从简历、简历中提取特定部分
6 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
2 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
3 回答
我想从网上搜集一些关于抵押贷款的数据
7 回答
我想从网站上删除电子邮件地址
5 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
6 回答
我想从网站中提取数据,然后将其显示在我的网页上
7 回答
我想从网页上提取统计数据。
9 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
4 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
7 回答
我想从课堂上打印字典里的键
7 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
4 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
4 回答