找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1815|回复: 2

[求助] 关于文本的问题

1

主题

2

帖子

2

积分

贫民

积分
2
IMRoger 发表于 2018-10-31 22:31:30 | 显示全部楼层 |阅读模式
代码
  1. #coding=utf-8

  2. #
  3. targetFileName = r"F:\学习的痕迹\Python\data\record.txt"
  4. targetFile = open(targetFileName,'r',encoding='UTF-8')

  5. targetFile.seek(0.0)
  6. for eachLine in targetFile:
  7.     print(eachLine[:3])
复制代码

record.txt 文本:
AAAA
====
BBBB
====
CCCC


提问:为什么输出结果如下 , 第一行只会输出2个字符?(ps.:第一行添加空行,则正常显示 AAA)
AA
===
BBB
===
CCC


感谢回答 , 谢谢

回复

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
ldcaei 发表于 2018-11-1 10:40:58 | 显示全部楼层
seek()方法和你的目的无关,建议去掉。
print()建议整行输出看看。
怀疑可能是record.txt文件的问题,建议用notepad++打开看看,可以新建一个,将网页上面的内容拷进去试试。
回复 支持 反对

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
IMRoger  楼主| 发表于 2018-11-1 23:24:31 | 显示全部楼层
ldcaei 发表于 2018-11-1 10:40
seek()方法和你的目的无关,建议去掉。
print()建议整行输出看看。
怀疑可能是record.txt文件的问题,建议 ...

感谢回复!! 试了几次还是没有搞懂原因.
又发现了一个非常有意思的现象

文本修改:
AAA:A
====
BBB:B
====
CCC:C
====

代码
  1. #coding=utf-8

  2. #
  3. targetFileName = r"F:\学习的痕迹\Python\data\record.txt"
  4. targetFile = open(targetFileName,'r',encoding='UTF-8')

  5. targetFile.seek(0.0)
  6. for eachLine in targetFile:
  7.     print(eachLine[:3])
  8.     if eachLine[:3] != '===':
  9.         (one,two) = eachLine.split(':',1)
  10.         print(one+' 2')
复制代码


结果:
AA
AAA 2
===
BBB
BBB 2
===
CCC
CCC 2
===

在第三个字符后边加了‘;’,进行分割,又能正常显示 AAA ,继续研究。
非常感谢你的回答。谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表