for x in range(6):
why = str(x+1)
outf.write(why)
其中OUTF是文件爲什麼我不能輸出range()到文件的輸出?
給我:
why = str(x+1)
TypeError: expected a character buffer object
for x in range(6):
why = str(x+1)
outf.write(why)
其中OUTF是文件爲什麼我不能輸出range()到文件的輸出?
給我:
why = str(x+1)
TypeError: expected a character buffer object
工作對我來說(在IPython中,蟒蛇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版本?
這對我的作品
outf = open('/temp/workfile', 'w')
for x in range(6):
why = str(x+1)
outf.write(why)
outf.flush()
outf.close()
/temp/workfile
包含123456
我不相信你已經發布你正在運行的代碼,但也有避免明確調用寫它的其他方式的str
和正在+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))
假設你是新到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
至於粘貼的代碼去,還有別的東西你arne't告訴我們...這工作得很好。
for x in range(6):
why = str(x+1)
print why
1
2
3
4
5
6
上下文管理器也是一個很好的習慣,早期構建:'用open('newfile.txt','w')作爲fout:'...... – mgilson
看起來你正在死於調用'str()',而不是文件寫入。你能提供一個更大的,否則你的問題工作的例子? –
您確定您顯示的代碼實際上是您正在運行的代碼嗎? –
你以前是否把名字'str'綁定到別的東西上? – wim