Board logo

标题: [技术讨论] Python中的os.linesep会产生多余的回车符号 [打印本页]

作者: Python    时间: 2012-3-17 16:20     标题: Python中的os.linesep会产生多余的回车符号

书上看到的一个例子里面使用os.linesep作为行结束符,我试了一下在Windows系统里面写入文件之后会产生多余的回车符号。
  1. import os
  2. ls = os.linesep
  3. while True:
  4.     fname = raw_input('Enter filename: ')
  5.     if os.path.exists(fname):
  6.         print "ERROR: '%s' already exists" % fname
  7.     else:
  8.         break
  9. all = []
  10. print "\nEnter lines ('.' by itself to quit).\n"
  11. while True:
  12.     entry = raw_input('> ')
  13.     if entry == '.':
  14.         break
  15.     else:
  16.         all.append(entry)
  17. fobj = open(fname, 'w')
  18. # os.linesep作为行结束符在Windows里面会产生多余的回车
  19. # fobj.writelines(['%s%s' % (x, ls) for x in all])
  20. # 还是用\n比较靠谱(官方帮助文档也是这样建议的)
  21. fobj.writelines(['%s\n' % x for x in all])
  22. # 另一个方法也行
  23. # for x in all:
  24.     # print >> fobj, x
  25. fobj.close()
  26. print 'DONE!'
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2