Python3中内置类型bytes和str用法及byte和string之间各种编码转换_python中bytes用法-程序员宅基地

技术标签: python  # python  类型  

项目问题

使用函数translate()进行字符过滤时发现函数不能对str类型进行过滤,只能对bytes格式进行过滤。因此首先将字符串编码为bytes格式,过滤之后再将其解码为str格式,最后输出。

项目代码如下

import os
import string

def rename_files():
    #(1) get file names from a folder
     #r stands for rawpack (r代表原包装,表示接受字符串本身,不进行转译)
    file_list = os.listdir(r'E:\datamining\spyder\Udacity\course2_使用函数\prank\prank') 
    print(file_list)
    #saved_path = os.getcwd() #cwd: Current Working Directory 
    #设置当前工作路径
    os.chdir(r'E:\datamining\spyder\Udacity\course2_使用函数\prank\prank') 
   
    
    #(2) for each file,rename filename
    for file_name in file_list:
        #取得的file_name默认为str类型数据,此步将file_name以utf-8格式编码转为bytes,以便translate进行处理     
        file_name = file_name.encode(encoding = 'utf-8') 
        #利用string.translate进行字符过滤(此处用bytes格式过滤)
        os.rename(file_name,file_name.translate(None,b'0123456789'))
        #过滤后,将file_name解码为str格式
        file_name = file_name.decode() 
        
    
rename_files()

解决方案

	<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post">
                <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/htmledit_views-0a60691e80.css">
        <div class="htmledit_views">

  Python3中内置类型bytesstr用法及bytestring之间各种编码转换

    Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰。你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然).

    python3.0中怎么创建bytes型数据

bytes([ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ])
bytes( "python" 'ascii' # 字符串,编码

设置一个原始的字符串

>>> website  =  'http://www.169it.com/os'
>>>  type (website)
< class  'str' >
>>> website
'http://www.169it.com/os'
>>>

utf-8的方式编码,转成bytes

>>> website_bytes_utf8  =  website.encode(encoding = "utf-8" )
>>>  type (website_bytes_utf8)
< class  'bytes' >
>>> website_bytes_utf8
b 'http://www.169it.com/os'
>>>

  gb2312的方式编码,转成bytes

>>> website_bytes_gb2312  =  website.encode(encoding = "gb2312" )
>>>  type (website_bytes_gb2312)
< class  'bytes' >
>>> website_bytes_gb2312
b 'http://www.169it.com/os'
>>>

   解码成string,默认不填

>>> website_string  =  website_bytes_utf8.decode()
>>>  type (website_string)
< class  'str' >
>>> website_string
'http://www.169it.com/os'
>>>
>>>

    解码成string,使用gb2312的方式

>>> website_string_gb2312  =  website_bytes_gb2312.decode( "gb2312" )
>>>  type (website_string_gb2312)
< class  'str' >
>>> website_string_gb2312
'http://www.169it.com/os'
>>>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mahoon411/article/details/80613471

智能推荐

loaded the "BlueView" nib but the view outlet was not set 错误的解决办法。_nib but the view outlet was not set.-程序员宅基地

文章浏览阅读877次。一般这种情况是创建文件的忘记同时创建xib文件, 后来又单独给文件关联xib文件, 但是关联不正确出现的问题今天在做练习创建多个视图程序的时候,老是出现下面这样的错误: p.p1 {margin: 0.0px 0.0px 0.0px 28.0px; text-indent: -28.0px; font: 11.0px Menlo}'-[UIViewController _l_nib but the view outlet was not set.

电子设计教程19:晶体管负反馈放大电路的原理设计_负反馈放大器为能直接测晶体管的电压吗-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏21次。串联放大器与加入负反馈的思路  之前讲述的共射极放大电路,放大倍数只有5倍。就算再努力一点,也只能达到十几倍,放大倍数太小。本节尝试把1KHz,10毫伏峰峰值的正弦波,放大100倍。  单晶体管的放大倍数理论上最大能达到自身的h_FE,实际上考虑到放大电路的稳定性,单晶体管的实际放大倍数往往小于h_FE。如果想进一步提高放大倍数,可以考虑把多级放大电路串联起来。这种思路很好理解,如果第一级放大..._负反馈放大器为能直接测晶体管的电压吗

使用微信小程序对服务器上MySQL数据库进行操作_微信小程序开发时如何通过服务器访问数据库-程序员宅基地

文章浏览阅读3.6w次,点赞25次,收藏275次。文章目录主思路先决条件写在前面主思路小程序通过wx.request()进行http访问,访问服务器上部署的php文件,访问时,服务器将执行PHP文件,PHP的内容是根据得到的小程序传递的传输对数据库进行相应的操作。先决条件配置IIS web服务器,配置安装PHP,搭建MySQL数据库。当然,web服务器不是一定配置IIS,只是笔者购买的是腾讯的windows的服务器,跟着官方文档配置感觉方..._微信小程序开发时如何通过服务器访问数据库

IDEA 出现问题:报错unable to establish loopback connection解决方案_caused by: java.io.ioexception: unable to establis-程序员宅基地

文章浏览阅读2.4w次。错误信息:Caused by: java.io.IOException: Unable to establish loopback connectionat sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:101)at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:68)at java.security.AccessController.解决方案_caused by: java.io.ioexception: unable to establish loopback connection

酒店智能门锁方案功能及其特点介绍_门锁发卡系统用什么语言开发出来的-程序员宅基地

文章浏览阅读1.1k次。世界上自有门锁以来,门锁的变革经历了:机械锁—光孔锁—磁片锁—电子锁—智能感应卡锁,门锁不断地更新换代。进入九十年代后,智能卡锁以其无余伦比的优势创建了门锁新概念。计算机、电子机械和智能卡的诞生,门锁形成了完美的梦幻组合。电子门锁集计算机、电子机械、磁电技术为一体,以智能来控制门锁的开启,即给管理者带来安全、迅捷、自动化的管理模式,也给使用者提供了极大方便。科技以人为本,智能电子门锁的产生,源于人..._门锁发卡系统用什么语言开发出来的

IDEA没有自动检查语法,自动关联报错_idea的自动检查不触发-程序员宅基地

文章浏览阅读4.4k次。1 问题藐视idea没有自动报错.例如随便写一段错误代码,其关联类没有报错;新加一个接口方法其实现类没有实现,没有报错;其实就是没有自动检查语法合法性、2 产生原因2.1 开启了省电模式开启了省电模式,关掉即可。2.2 没有开启自动编译项目 2.3 inspection功能故障单击右下角小人头,检查高亮等级是否在none(没有)上,移到Inspections.以上三个问题检查一遍,基本可以解决问题。..._idea的自动检查不触发

随便推点

nginx调优参数_output_buffers-程序员宅基地

文章浏览阅读2k次。Worker相关worker设置比较简单,只需要设置正确的数量。Worker Processes如果您的站点流量不大,Nginx,数据库和Web应用程序都运行在同一台服务器上。则在/etc/nginx/nginx.conf中,设置worker_processes 1;如果您的站点流量比较大或者服务器只运行了Nginx,请为每个CPU核心设置一个工作线程:worker_process..._output_buffers

torchsummary使用遇到的问题:AttributeError: ‘list‘ object has no attribute ‘size‘解决办法_attributeerror: 'list' object has no attribute 'si-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏3次。AttributeError: ‘list‘ object has no attribute ‘size‘解决办法_attributeerror: 'list' object has no attribute 'size

开发板实战篇4 RGB565 LCD刷颜色数据_lcd rgb565-程序员宅基地

文章浏览阅读1.4k次。总结: 模块例化思想: 例化2个定时器模块 + 数码管驱动 根据自己思路编写代码,调试仿真代码,同时熟悉环境.加深细节理解 刚开始写得很乱,代码完全就是用modelsim仿真调试出来的 注意: 一. 实现的功能 使用FPGA开发板外接1024*600 7inch RGB LCD显示屏,循环刷颜色数据,间隔1S。二. 功能框图定时器模块1:加计数器,计数500ms到了产生ov..._lcd rgb565

gitlab启动失败,报runsv no running_runsv not running-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏6次。本文场景是自搭建的gitlab,在服务器重启后,gitlab启动失败,并报runsv no running异常_runsv not running

android文件系统的容量查询_android 日志查看磁盘大小-程序员宅基地

文章浏览阅读465次。StatFs 一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况,这样就简单描述一下StatFs中常用的几个方法public void onClickQueary(View view) { StatFs statFs = new StatFs(et_filePath.getEditableText().toString()); long block..._android 日志查看磁盘大小

openbmc开发29:开关机管理_x86 powerbutton 触发-程序员宅基地

文章浏览阅读4.3k次,点赞4次,收藏9次。在ob中开关可以划分为x86、openpower和自定义三类,x86主要是intel、amd的x86架构的CPU开关机控制,openpower是IBM的powerPC的开关机控制,自定义一般是自己设计主板上带有CPLD或者FPGA,通过AST的gpio信号通知逻辑对HOST的开关机、复位控制。按控制对象划分可以分为chassis控制和host控制,在非标服务器设计中,可能没有chassis这一部分,只有对host的控制,由obmc-op-control-host软件包实现。在chassis控中又分为cha_x86 powerbutton 触发

推荐文章

热门文章

相关标签