免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 40375 | 回复: 8
打印 上一主题 下一主题

如何去掉回车符 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-28 17:18 |只看该作者 |倒序浏览
我将一些文件的路径及文件名放在一个文本文件里,运行脚本时从此文本文件里一条一条读出里面的文件并执行打开,但是文本文件里每一行,即每一文件名后面自动加上了回车符,如何可以在读出文件名时去掉此回车符呢?因为加了此回车符,打开文件时有错误。谢谢。

论坛徽章:
0
2 [报告]
发表于 2006-08-28 18:30 |只看该作者
仅供参考
  1.     fileListFile = open( fileListName )
  2.     fileNames = fileListFile.readlines()
  3.     fileListFile.close()

  4.     for fileName in fileNames:
  5.         if fileName[-1] == '\n':
  6.             fileName = fileName[0:-1]
  7.         ......
复制代码

论坛徽章:
0
3 [报告]
发表于 2006-08-28 19:00 |只看该作者
可以运行,谢谢楼上的。

论坛徽章:
0
4 [报告]
发表于 2006-08-28 20:44 |只看该作者
不同的平台,换行符是不同的,上面的代码并不准确。不如使用rstrip()去掉行尾空白。不过这样也会把行尾的其它空白也一起去掉。

论坛徽章:
0
5 [报告]
发表于 2006-08-28 21:30 |只看该作者
在windows下可以用。

论坛徽章:
0
6 [报告]
发表于 2006-08-29 14:55 |只看该作者
strip()

论坛徽章:
0
7 [报告]
发表于 2006-08-29 21:02 |只看该作者
不同平台下的換行符當然是不一樣的。然而,不同平台下的Python,其對換行符的處理也是不一樣的,中間還有一層和平台相關的轉義。這一點,可以在Windows平台下得到證明。因此,如果你的程序和文件是同一平台下的話,上面這段程序是沒有問題的。

如果要應付夸平台的要求,對于Windows和UNIX文件,可以這樣:
  1.         fileName = fileName.replace('\r','')
  2.         fileName = fileName.replace('\n','')
复制代码
直接將回車、換行兩字符替換掉就行了。

對于Mac格式,它是以\r為換行符,無論在Windows還是在UNIX中,通過readlines函數都會把所有行讀成一行。這時候,需要用split函數進行處理。

论坛徽章:
0
8 [报告]
发表于 2012-07-03 22:03 |只看该作者
7楼正解 多谢..

论坛徽章:
2
CU大牛徽章
日期:2013-04-17 11:46:28CU大牛徽章
日期:2013-04-17 11:46:39
9 [报告]
发表于 2012-07-04 10:28 |只看该作者
回复 7# OneZ


    rstrip 不行么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP