鱼C论坛

 找回密码
 立即注册
查看: 1665|回复: 8

[已解决]文件读取

[复制链接]
发表于 2017-12-14 16:13:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
捕获.PNG
为什么每次都是没有任何的打印呢
  1. for each_line in file:
  2.                     count+=1
  3.                     if keywords in each_line:
  4.                         key=each_file+','+str(count)
  5.                         dic[key]=each_line.index(keywords)
复制代码

其实之前的是因为这个没有任何的反映写出来的代码,总之就是两个部分的不太对。。。
最佳答案
2017-12-14 16:31:37
戈戈戈戈戈戈哒 发表于 2017-12-14 16:26
那我的问题是什么原因呢啊~

file只是一个文件对象,作为一个可迭代对象不能获取内部实际数据
file.read()本身返回一个字符串,而且把它作为for循环中的可迭代对象每次都会进行操作,但是之前读的并没有关闭,其文件指针还指向文件末尾,所以根本读不到数据了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-14 16:17:44 | 显示全部楼层
建议这样写
content = file.read()
if each_line in content:
       #do something
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-14 16:26:57 | 显示全部楼层
BngThea 发表于 2017-12-14 16:17
建议这样写
content = file.read()
if each_line in content:

那我的问题是什么原因呢啊~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-14 16:31:37 | 显示全部楼层    本楼为最佳答案   
戈戈戈戈戈戈哒 发表于 2017-12-14 16:26
那我的问题是什么原因呢啊~

file只是一个文件对象,作为一个可迭代对象不能获取内部实际数据
file.read()本身返回一个字符串,而且把它作为for循环中的可迭代对象每次都会进行操作,但是之前读的并没有关闭,其文件指针还指向文件末尾,所以根本读不到数据了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-14 18:09:46 | 显示全部楼层
BngThea 发表于 2017-12-14 16:31
file只是一个文件对象,作为一个可迭代对象不能获取内部实际数据
file.read()本身返回一个字符串,而且 ...

可是我如果那样操作了之后就把eachline变成了一个字一个字的读取了,我不会在回复里面放图,在楼下我放了两张图
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-14 18:11:17 | 显示全部楼层
捕获.PNG
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-14 18:14:03 | 显示全部楼层
本帖最后由 戈戈戈戈戈戈哒 于 2017-12-14 18:15 编辑

另外的一个图片无法上传,就是变成了下面的样子


  1. >>> for eachline in content:
  2.         print(eachline)

  3.        














复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-14 18:20:36 From FishC Mobile | 显示全部楼层
戈戈戈戈戈戈哒 发表于 2017-12-14 18:14
另外的一个图片无法上传,就是变成了下面的样子

所以你要么用readline函数。要么对读取的字符串进行分割操作
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-14 18:25:03 | 显示全部楼层
BngThea 发表于 2017-12-14 18:20
所以你要么用readline函数。要么对读取的字符串进行分割操作

明白了明白了,我问问题好多次都是您帮我解决的,超级感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-4 19:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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