现在的位置: 首页 > 综合 > 正文

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

2018年01月18日 ⁄ 综合 ⁄ 共 626字 ⁄ 字号 评论关闭
  今天在做一道习题,将一个文件读取之后,每一行的前后空格去掉之后,再根据用户提示,保存或替换新的文件。
要求用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)

哈哈,一切顺利。看来不到要仔细看书,还要记住一些细节。不然在这些上耽误时间就不值了。。。

抱歉!评论已关闭.