[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[技术讨论] 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!'
复制代码

返回列表