[问题] 将字串输出为txt档失败

楼主: TW185930 (吱吱)   2014-12-28 22:40:57
各位大家好,目前对于程式有兴趣(本身非资讯相关科毕)
听闻python对于新手来说比较容易入门,故自行去图书馆
借了一本深入浅出Python一书来练习,不过最近一直卡关
了,这本书中第四章是在讲将文字串输出为txt档保存
,可是我发现我写出来的程式没办法将文字串存入txt档 (虽
然会创造出程式中命名的txt档,但是里面是空的),而执行程式
会出现
Traceback (most recent call last):
File "C:\Users\SONY\Desktop\python test\chapter4\page112.py", line 26, in
<module>
man_file.write(man)
TypeError: expected a character buffer object
的错误,我后来试着找问题发现是因为我的字串是清单所以没法
写进txt档,请问我要怎么改呢~__~?
(我有点不太会描述,希望大家懂我的问题点Orz)
以下为我的程式:
man = []
other = []
try:
data = open('sketch.txt')
for each_line in data:
try:
(role, line_spoken) = each_line.split(':', 1)
line_spoken = line_spoken.strip()
if role == 'Man':
man.append(line_spoken)
elif role == 'Other Man':
other.append(line_spoken)
except ValueError:
pass
data.close()
except IOError:
print 'The datafile is missing!'
try:
man_file = open('man_data.txt', 'w')
other_file = open('other_data.txt', 'w')
man_file.write(man)
other_file.write(other)
except IOError:
print 'File error.'
finally:
man_file.close()
other_file.close()
作者: Seudo (进击的三笠)   2014-12-28 23:05:00
man_file.write('\n'.join(man))
作者: wlhunag (阿龙)   2014-12-28 23:11:00
man_file.write(str(man)) <---将列表直接转为字串
作者: alibuda174 (阿哩不达)   2014-12-28 23:37:00
确定吗?你的程式不论2or3,都会出错
作者: bibo9901 (function(){})()   2014-12-29 00:04:00
write 和 print 不一样啊
作者: alibuda174 (阿哩不达)   2014-12-29 00:55:00
from __future__ import print_function2.x与3.x的print 不一样 这行可让2.x使用3.x的printhttp://goo.gl/SmHiaf

Links booklink

Contact Us: admin [ a t ] ucptt.com