0
for x in range(6):
  why = str(x+1)
  outf.write(why)

其中 outf 是一个文件

给我:

why = str(x+1)
TypeError: expected a character buffer object
4

4 回答 4

1

我不相信您已经发布了您正在运行的代码,但是还有其他编写它的方法可以避免显式调用str和 +1'ing(假设每行一个数字和 2.x):

for i in xrange(1, 7): # save the +1
    print >> fout, i 

fout.writelines('{}\n'.format(i) for i in xrange(1, 7))

from itertools import islice, count
fout.writelines('{}\n'.format(i) for i in islice(count(1), 6))
于 2012-11-27T23:59:02.543 回答
0

为我工作(在 ipython,python 2.7 中):

In [1]: outf = open('/tmp/t', 'w')

In [2]: for x in range(6):
   ...:     why = str(x+1)
   ...:     outf.write(why)

In [3]: outf.close()

文件内容:123456

你用的是什么python版本?

于 2012-11-27T23:55:06.807 回答
0

这对我有用

outf = open('/temp/workfile', 'w')
for x in range(6):
    why = str(x+1)
    outf.write(why)
outf.flush()
outf.close()

/temp/workfile包含123456

于 2012-11-27T23:57:54.460 回答
0

假设您是 Python 新手...

new_File = open('mynewfile.txt', 'wr')
for x in range(6):
    new_File.write(str(x)+'\n')

new_File.close()

将为您提供一个名为“mynewfile.txt”的文件的输出,该文件如下所示:

0 
1 
2
3
4
5

就您粘贴的代码而言,您还没有告诉我们其他一些事情……这很好用。

for x in range(6):
  why = str(x+1)
  print why

1
2
3
4
5
6
于 2012-11-28T00:02:37.130 回答