但当string只为ascii字符时,比如

txt = u"qwer"

这时生成的file仍旧为ascii格式

需要怎么做才能生成utf-8格式的文件?

答:UTF-8编码向下兼容,即 包含了ASCII编码

-》 所以当文件内容只有ASCII字符串时,是ASCII编码,也是UTF-8编码

-》你用Python等代码,去用UTF-8编码去打开时,也不会报错的

-》如果你文件内容包含非ASCII字符,比如中文字符时,指定了UTF-8编码时,保存出来的就显示UTF-8编码了

相关

UTF-8 with BOM

和UTF-8编码相关的,还有个叫做:UTF-8 with BOM=带BOM的UTF-8

UTF-8和UTF-8 with BOM`区别

UTF-8 with BOM比UTF-8文件最开始多了个字符\ufeff,也叫BOM头

一般来说,用途最广的,最通用,兼容性最好的是:UTF-8

-》不需要,也不太应该去保存为UTF-8 with BOM

那什么时候考虑保存为UTF-8 with BOM?

比如我此处遇到的特殊情况:

Mac中,excel去打开UTF-8的csv时,如果里面有中文,就会显示乱码

想要避免乱码,就应该:把csv从UTF-8改为UTF-8 with BOM

这样Mac中Excel再去打开UTF-8 with BOM的csv,就不会乱码了。

字符编码相关教程

可以参考我写的:

python utf 8_python写utf-8文件的问题相关推荐

  1. python调用自己写的py文件

    目录 python如何调用自己写的py文件呢? 如果是不同目录怎么调用呢? 如果需要调用的多个文件在多个目录呢? 关于__init__.py的解释 关于sys.path的解释 python如何调用自己 ...

  2. python import自己写的.py文件

    1. 简单地导入自己写的.py文件 参考:https://jingyan.baidu.com/article/08b6a591810daf14a8092204.html 2. 将自己写的多个.py文件 ...

  3. python引用文件 mode写在后面还是前面,python3 文件操作常用mode参数用法详解

    python3:常用mode参数 t 文本模式 (默认). #假设我们有一个本地文件名为:demo.text,文件编码格式为:utf-8 #文件内容为:python工程狮 f = open('demo ...

  4. html文件怎么用Python做后端,利用python实现后端写网页(flask框架).pdf

    利利用用python实实现现后后端端写写网网页页 ((flask框框架架)) 如何用python做后端写网页-flask框架 什么是Flask安装flask模块Hello World更深一步:数据绑 ...

  5. python文件是怎么写_python头文件怎么写

    本文主要以python2为例.首先介绍一下Python头文件的编程风格,然后再给大家详细介绍import部分的基本用法.这两个部分就是Python中头文件的组成模块. 编程风格#!/usr/bin/e ...

  6. python 读取txt文件中满足要求的行写到新文件中_python_文本文件里面随机抽取若干行,写入新的文本文件里面...

    原博文 2012-07-25 16:36 − 天一直阴沉沉的,真想早点下班啊...... 1 #encoding=utf-8 2 import random 3 from sets import Se ...

  7. python写二进制文件 flush_文件操作 · python笔记 · 看云

    [TOC] ## **文件读写模式概述** ### `r` 读文件模式 * r 只读模式 普通读模式,不能写入,不指定编码的话默认使用utf-8编码读取文件 * r+ 读写模式 可以写入,但默认只能将 ...

  8. Python如何将写好的代码打包成exe文件

    第一步 下载pyinstaller pyinstaller插件是Python自带的插件,用于为我们写好的代码进行打包,最终自动合成.exe文件. 在Pycharm界面的最下面,你可以看到Termina ...

  9. python脚本写log日志文件

    python脚本写log日志文件 一.定义Logger类 二.实例化.调用 一.定义Logger类 import logging from logging import handlersclass L ...

最新文章

  1. centos7 docker 安装 otter 注意事项
  2. 每小时的数据mysql_荐 mysql查询每小时数据和上小时数据的差值
  3. object转字符串
  4. MySQL 学习三:来教你如何完全卸载掉本地“头大的” MySQL 数据库!
  5. 重理工c语言实验指导书,太原理工大学级c语言实验指导书参考答案教程方案.docx...
  6. 武新博士:新型MPP数据库将支撑起大数据时代
  7. promotion failed 和 Concurrent Mode Failure的区别
  8. 群体智能优化算法之萤火虫群优化算法(Glowworm Swarm Optimization,GSO)
  9. 推荐一个用Flutter写的仿网易云音乐项目(已开源)
  10. 错误未找到引用源_你好,C++(77)12.1 用右值引用榨干C++的性能
  11. MATLAB数学建模方法与实践(第3版)程序及数据
  12. STDIN_FILENO与stdin
  13. R语言如何做独立样本t检验
  14. 流程控制语句------顺序结构(一)
  15. WEB请求处理二:Nginx请求反向代理
  16. Opencascade 开发 1章
  17. 深度学习 噪声抑制_使用深度学习抑制噪声
  18. 计算机网络实验报告三
  19. 自学Java之day07_API的初识及使用
  20. 头条号nx配置文件mysql_后端开辟必备的MySQL日记文件知识点

热门文章

  1. power指令集 mysql_PowerPC汇编指令集简析
  2. java -jar 和 -cp详解
  3. Android字体占有内存,android随意创建字体对象引发的应用程序运行时占用内存过大...
  4. 8月数据库排行榜:SQL Server分数下降最多
  5. 35岁之后,你还会继续写代码吗?
  6. 微服务架构面试送送送命题!
  7. 赛森机器人_对比评测3款最贵的扫地机器人,戴森性能太强了
  8. java中日期怎么比较_如何比较Java中的日期?
  9. 启停系统错误_关掉自动启停系统,就可以用普通蓄电池代替启停蓄电池吗?
  10. Softmax到AMSoftmax(附可视化代码和实现代码)