python:TypeError:无法将str写入文本流 - python

我肯定在这里做错了什么。但是,这是什么,我该如何解决?

Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import io
>>> f1 = io.open('test.txt','w')
>>> f1.write('bingo')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\appl\python\2.6.5\lib\io.py", line 1500, in write
    s.__class__.__name__)
TypeError: can't write str to text stream

编辑:在我的实际应用程序中,我将没有常量字符串,我将有常规字符串...如果unicode是问题,我如何转换为io.open所需?

参考方案

io模块是一个相当新的python模块(在Python 2.6中引入),使处理unicode文件更加容易。其文档位于:http://docs.python.org/library/io.html

如果您只想写字节(Python 2的“str”类型)而不是文本(Python 2的“unicode”类型),那么我建议您跳过io模块,而只使用内置的“open”功能,给出一个处理字节的文件对象:

>>> f1 = open('test.txt','w')

或者,在模式字符串中使用“b”以二进制模式打开文件:

>>> f1 = io.open('test.txt','wb')

阅读io模块的文档以获取更多详细信息:http://docs.python.org/library/io.html

TypeError:'str'对象不支持项目分配,带有json文件的python - python

以下是我的代码import json with open('johns.json', 'r') as q: l = q.read() data = json.loads(l) data['john'] = '{}' data['john']['use…

TypeError:“范围”对象不支持项目分配 - python

我正在查看一些python 2.x代码,并尝试将其转换为py 3.x,但我仍停留在此部分。任何人都可以澄清出什么问题吗?import random emails = { "x": "[REDACTED]@hotmail.com", "x2": "[REDACTED]@hotmail.com…

Python TypeError:“类型”对象不支持项目分配 - python

我必须设计并实现一个TwoSum类。它应该支持以下操作:add-将数字添加到内部数据结构中。find-查找是否存在任何一对数字,其总和等于该值。这是我的代码:class TwoSum(object): dict = {} def add(self,n): dict[n] = n #TypeError: 'type' object does…

Python 3运算符>>打印到文件 - python

我有以下Python代码编写项目的依赖文件。它可以在Python 2.x上正常工作,但是在使用Python 3进行测试时会报告错误。depend = None if not nmake: depend = open(".depend", "a") dependmak = open(".depend.mak&#…

Python:对于长时间运行的进程,通过还是休眠? - python

我正在编写一个队列处理应用程序,该应用程序使用线程等待和响应要发送到该应用程序的队列消息。对于应用程序的主要部分,只需要保持活动状态即可。对于像这样的代码示例:而True: 通过要么而True: time.sleep(1)哪一个对系统的影响最小?除了保持python应用运行外,什么都不做的首选方式是什么? 参考方案 我可以想象time.sleep()会减少系…