如何使用Python io库写入外部文件
我现在正在使用Python的io库来往一个外部文件写入数据。下面是我尝试执行的一段代码:
import io
output=io.StringIO
output.write('\n Hello world ')
output.close()
print output.getvalue()
当我运行这段代码时,出现了一个错误。有人能告诉我我哪里出错了吗?这个错误的原因是什么?
4 个回答
1
StringIO有很多用处,比如它可以用来代替可变字符串。不过因为你想要写入文件,所以可以直接跳过它,直接写入文件就行了:
with open('file/path', 'w') as fh:
fh.write('Hello World!')
print open('file/path').read() # if you need to actually print it out.
2
我同意@Andrea的看法。不过,如果你想按照自己的方式来做:
import cStringIO
output=cStringIO.StringIO()
output.write('\n Hello world ')
print output.getvalue()
output.close()
6
StringIO
是用来写字符串的,它把字符串当作内存中的流来处理。
如果你想写入文件,可以这样做:
f = open('yourfile', 'w')
f.write('Hello, world.')
f.close()
这时候不需要用到 StringIO
。
你甚至没有创建这个类的实例,因为在 StringIO
后面没有加括号 ()
,所以你的变量指向的是 StringIO
这个类,而我很确定这不是你想要的结果。