python - Python3 在日期前面放了一个“b”
问题描述
这个 Python 3 代码:
commentmsg = '\n' + svn_date + ' Repo: '+ svn_repository + ' Rev: ' + svn_revision + ' User: ' + svn_author + '\n'
给出这个结果:
b'2020-01-29' b'09:26:49' Repo: SubversionTraining Rev: 478 User: bengt.nilsson
日期和时间前面有一个“b”,它来自哪里,我该如何摆脱它?这从 Python 3 开始。
解决方案
发生这种情况是因为您的变量之一可能是类型bytes
而不是str
(b
代表一个bytes
对象)。尝试执行以下操作:
raw_data = [svn_date, svn_repository, svn_revision, svn_author]
data = [ele.decode() for ele in raw_data if isinstance(ele, bytes) else ele]
commentmsg = f"\n{data[0]} Repo: {data[1]} Rev: {data[2]} User: {data[3]}"
推荐阅读
- events - 点击手势识别器不适用于 Xamarin 表单中的形状?
- .net - 如何在 Mac 上打开带有 .application 扩展名的程序?
- python - 需要帮助识别错误:+ 不支持的操作数类型:“_hashlib.HASH”和“字节”
- laravel - laravel 8 call to undefined method upsert
- android - 为什么 fastboot 不能通过无线 ADB 工作?
- python - 根据另一列填充 NaN 值
- c++ - c++ lambda自动类型推导
- c# - ajax 上的 CORS 错误被重定向到 ADFS STS 服务器
- visual-c++ - 如何使用相同的 vcpkg 目录使用 WSL2 和 Visual Studio C++ 2019 开发 Linux + Windows 应用程序?
- django - Django 2.2 和 Rest Framework 3.11 - 使用所有者的用户名字符串而不是 pk 部分更新模型“所有者”字段(ForeignKey)