python input循环重新输入_python循环输入fi

我的问题与Python中的文件输入有关,使用open()。我有一个文本文件mytext.txt有3行。

我试着用这个文件做两件事:打印行数和打印行数。

我尝试了以下代码:input_file = open('mytext.txt', 'r')

count_lines = 0

for line in input_file:

print line

for line in input_file:

count_lines += 1

print 'number of lines:', count_lines

结果:正确打印3行,但打印“行数:0”(而不是3)

我找到了两种方法来解决这个问题,并让它打印出来:

1)我使用一个循环而不是两个input_file = open('mytext.txt', 'r')

count_lines = 0

for line in input_file:

print line

count_lines += 1

print 'number of lines:', count_lines

2)在第一个循环之后,我再次定义输入文件input_file = open('mytext.txt', 'r')

count_lines = 0

for line in input_file:

print line

input_file = open('mytext.txt', 'r')

for line in input_file:

count_lines += 1

print 'number of lines:', count_lines

对我来说,定义input_file = ...似乎只对一个循环有效,就好像在我将其用于循环后被删除一样。但我不明白为什么,也许我还不完全清楚Python中variable = open(filename)是如何处理的。

顺便说一下,我发现在这种情况下,最好只使用一个循环。然而,我觉得我必须把这个问题弄清楚,因为有些情况下我可以/必须利用它。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值