鱼C论坛

 找回密码
 立即注册
查看: 4033|回复: 6

[已解决]为什么得到的输出示例(1)还保留着

[复制链接]
发表于 2023-8-18 19:11:45 | 显示全部楼层
在for循环开头加入如下语句:
  1. print(i,type(i))
复制代码

输出结果:
  1. 考虑是否就是(1)
  2. <class 'str'>
  3. 2.考虑是否就是
  4. <class 'str'>

  5. <class 'str'>
复制代码

可见for循环是按行读取文件。
解决方案:使用read()方法读取整个文件,返回的是一个字符串
  1. fi = open("论语.txt","r",encoding="utf-8")
  2. fo = open("论语—原文—输出示例.txt","w")
  3. string = fi.read()
  4. flag = True

  5. for i in string:
  6.     if i == "(":
  7.         flag = False
  8.     if i == ")":
  9.         flag = True
  10.         continue
  11.     if flag:
  12.         fo.write(i)
  13.         
  14. fi.close()
  15. fo.close()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-19 14:42:47 | 显示全部楼层
本帖最后由 smallwh 于 2023-8-19 14:46 编辑
在for循环开头加入如下语句:
print(i,type(i))

这个只是用来排错。

正确的代码是下面的(我试了,不应该存在(1)才对啊)
解决方案:使用read()方法读取整个文件,返回的是一个字符串
fi = open("论语.txt","r",encoding="utf-8")
fo = open("论语—原文—输出示例.txt","w")
string = fi.read()
flag = True
…………


这是我运行后的文件截图,没有(1)了呀:

运行后的文件截图

运行后的文件截图
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-1 23:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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