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を回避する他の記述方法があります(1行に1つの番号が意図されており、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

これは私のために働く

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

私のために動作します(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

あなたが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 に答える