Python3.x下write()方法的一些坑

聪明的猪
2018-01-20 113阅读

天,我用write()方法做了一些事情,结果有错误代码:


TypeError                                 Traceback (most recent call last)
--可爱的马赛克-- in <module>()
      4 f = open("./data/data.txt", "wb")
      5
----> 6 f.write("\n")
      7
TypeError: a bytes-like object is required, not 'str'

代码:

#!python3
# -*- coding: UTF-8 -*-
f = open("./data/data.txt", "wb")
f.write("\n")

通过我上网Google,我发现是write()方法默认接受一个“byte”类型的字符串参数,而Python3.x下字符串默认为“UTF-8”惹的祸,所以,更改成:

#!python3
# -*- coding: UTF-8 -*-
f = open("./data/data.txt", "wb")
f.write(b"\n")

完美。

Filter blog posts by tag Mac Python3
C++ (17)   编程 (17)   洛谷 (14)   洛谷刷题记 (14)   广度优先搜索 (5)   BFS (4)   Mac (4)   博客 (4)   图论 (4)   搜索 (4)