读取S3 Bucket文件生成新Key时换行符去除失败求助
解决S3读取内容作为Key时换行符无法去除的问题
你可以通过以下两种正确的处理流程彻底去除换行符:
方法一:先处理bytes再解码
直接对读取到的bytes对象调用strip()(不带参数时会移除所有首尾空白字符,包括\n、\r等),再解码为字符串:
file_content = s3_client.get_object(Bucket=READ_BUCKET, Key=READ_OBJECT)["Body"]._raw_stream.readline() # 去除bytes首尾空白后解码为字符串 clean_key = file_content.strip().decode('utf-8')
方法二:先解码再处理字符串
先将bytes解码为字符串,再调用strip()去除首尾空白:
file_content = s3_client.get_object(Bucket=READ_BUCKET, Key=READ_OBJECT)["Body"]._raw_stream.readline() # 解码后去除字符串首尾空白 clean_key = file_content.decode('utf-8').strip()
关键提醒
- 若之前尝试
strip()无效,大概率是没将处理后的结果重新赋值给变量(比如仅执行file_content.strip()却未保存到新变量)。 - 不要只指定
strip('\n'),文件可能包含Windows风格的\r\n换行,不带参数的strip()会自动处理所有类型的首尾空白,兼容性更强。
内容的提问来源于stack exchange,提问作者RichJohnson
相关产品推荐
相关产品推荐

