今天在做一道习题,将一个文件读取之后,每一行的前后空格去掉之后,再根据用户提示,保存或替换新的文件。
要求用Map函数实现。
要求用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)
哈哈,一切顺利。看来不到要仔细看书,还要记住一些细节。不然在这些上耽误时间就不值了。。。