您的位置:首页 > 其它

文件操作的writelines方法-需要手动加入换行符

2008-12-01 23:15 357 查看
今天在做一道习题,将一个文件读取之后,每一行的前后空格去掉之后,再根据用户提示,保存或替换新的文件。
要求用Map函数实现。

自己写了一个方法如下:
def main():
fname=raw_input('input FileName:')
ans=raw_input('res or new y?')
# 首先读取内容 保存
f=open(fname,'r')
flines=f.readlines()
result = map(lambda x:x.strip(),flines)
if ans=='y':
f=open(fname,'w');
f.writelines(result)
else:
f=open('new.txt','w')
f.writelines(result)
f.close()

if __name__=='__main__':
main()

结果执行以后,输出文件没有换行符,开始百思不得其解,后来翻了一下书,恍然大悟,原来f的wirtelines()方法会回自动添加换行符,需要手都添加,于是改了下代码将
result = map(lambda x:x.strip(),flines)
换成:
result = map(lambda x:x.strip()+'/n',flines)

哈哈,一切顺利。看来不到要仔细看书,还要记住一些细节。不然在这些上耽误时间就不值了。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐