最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python创建文件名乱码怎么解决

    正文概述    2020-07-02   724

    python创建文件名乱码怎么解决

    文件夹和文件的名字里面含有中文字符串时出现乱码的处理:

    把该字符串编码转换为unicode或gbk编码的字符串来解决。代码第二行如有声明编码格式如utf-8,则代码里面出现中文字符串的地方就按照utf-8格式的字符串去处理;如没有编码声明,则windows系统默认为gbk编码,而linux默认为utf-8编码。

    #!/usr/bin/env python
    # coding:utf-8
    import os
    # 对变量s的值字符串 '中国' 按utf-8编码处理
    s = '中国'
    # 创建的文件夹为乱码,乱码原因:代码编码为utf-8的中文字符串,但windows系统默认使用gbk编码,所以会乱码,
    只有它们一致才不乱码
    # os.mkdir(s)
    # 下面2种方法都能创建含有中文字符串的文件夹及文件
    # 把s的值进行解码,由于其为utf-8编码,所以使用utf-8解码
    # os.mkdir(s.decode('utf-8'))
    # windows系统的文件夹和文件的名字需要为unicode或gbk编码的字符串,才可以正常显示不乱码。
    # os.mkdir(s.decode('utf-8').encode('gbk'))
    # f = open(s.decode('utf-8') + '.txt','w')
    f = open(s.decode('utf-8').encode('gbk') + '.txt','w')
    f.close()

    此外,还发现一个现象,是否在使用unittest模块时,创建含有中文名字的文件夹时,是有区别的。

    没有使用unittest模块时,可以直接创建含有中文的文件夹,也没出现乱码。代码如下:

    #!/usr/bin/env python
    # coding:utf-8
    import os
    import chardet
    s = raw_input('请输入要创建的文件夹名字:')
    # s的值为ascii字符串,即gbk字符串
    print chardet.detect(s)
    # 发现不在unittest模块里面,可以不用编码解码处理,直接进行创建含有中文字符串的文件夹,结果也没发现乱码。而
    且文件代码声明为utf-8,也没有进行转码,真是不可思议。
    os.mkdir(s)
    os.chdir(s)

    python学习网,免费的在线学习python平台,欢迎关注!


    下载网 » python创建文件名乱码怎么解决

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元