Linux上执行python,在文件中写换行符

  1. python 在Linux上执行,版本是2.7
  2. python中的文件操作,写一个换行符,出现了如下错误:
Traceback (most recent call last):
  File "parse_new.py", line 130, in <module>
    main()
  File "parse_new.py", line 102, in main
    f.write("\n")
TypeError: must be unicode, not str
阅读 4.9k
3 个回答

试试这个


     f.write(u'\n') # u 指定为 unicode

python2.7没有默认unicode编码吧 把其转换成unicode编码即可。例如 print(u'hahaha')

  1. 在文件中写入字符串的时候可以用:f.write(u'n') u代表用Unicode编码
  2. python 2.7 没有默认Unicode编码,所以需要自己把元素进行编码

  3. StrToUnicode 使用decode();UnicodeToStr 使用encode()
    例子:
    with io.open('xxxx', 'a') as f:
        for i in LIST:
            f.write(i.decode('utf-8','ignore'))
            f.write(u"\n")

ps:

我在本地的python是3以上,本地运行的代码没有问题,但是到开发机上就出现问题,很无语啊,应该在开发机上也安装一个python3,这是紧要的
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题