python 手记5 〖笨方法学python习题20〗

如有意见或其他问题可在下方写下评论或加QQ:**1693121186
欢迎一起讨论技术问题!
代码如下:

# -*- coding: utf-8 -*-
from sys import argv #import语句

script, filename = argv #解包

def print_all(f): #创建函数“print_all”与参数“f文件”
    print f.read() #打印f文件中的内容

def rewind(f): #创建函数“f” 
    f.seek(0) #seek(0)这个函数只是转到文件的第一个字节的位置

def print_a_line(line_count, f): #创建函数“print_a_line”与参数“line_count, f”
    print line_count, #打印line_count

current_file = open(filename) #打开文件并寻到文件

print "First let's print the whole file:\n" #打印字符串

print_all(current_file) #给予函数print_all的参数以current_file的值

print "Now let's rewind, kind of like a tape." #打印字符串

rewind(current_file) #给予函数rewind的参数以current_file的值

print "Let's print three lines:" #打印字符串

current_line = 1 #给予变量值1
print_a_line(current_line, current_file) #给予函数print_a_line的参数以current_file与current_line的值

current_line = current_line + 1 #给予变量1+1的值
print_a_line(current_line, current_file) #给予函数print_a_line的参数以current_file与current_line的值

current_line = current_line + 1 #给予变量1+1+1的值
print_a_line(current_line, current_file) #给予函数print_a_line的参数以current_file与current_line的值

习题重点
readline()命令,会扫描文件的每一个字节,直到找到一个\n为止。然后它停止读取文件,并且返回此前的文件内容。文件f会记录每次调用readline()后的读取位置,它就可以在下次被调用时读取接下来的一行了。


附加练习

  1. 通读脚本,在每一行之前加上注释,以理解脚本里发生的事情。
  2. 每次print_a_line运行时,你都传递了一个叫current_line的变量。每次调用函数时,打印出current_line的值,跟踪一下它在print_a_line中是怎样变成line_count的。
  3. 找出脚本中每一个用到函数的地方。检查def一行,确认参数没有用错。
  4. 上网研究一下file中的seek函数是做什么用的。试着运行pydoc file, 看看能不能学到更多。
  5. 5.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值