如何使用Python io库写入外部文件

4 投票
4 回答
8681 浏览
提问于 2025-04-16 11:14

我现在正在使用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 这个类,而我很确定这不是你想要的结果。

撰写回答