习题20 函数和文件

from sys import argv

script,input_file = argv

def print_all(f):
    print f.read()

def rewind(f):
    f.seek(0)

def print_a_line(line_count,f):
    print line_count ,f.readline()

current_file = open(input_file)

print "First let's print the whole file:\n"

print_all(current_file)

print "Now let's rewind ,kind of like a tape."

rewind(current_file)

print "Let's print three lines:"

current_line = 1
print_a_line(current_line, current_file)

current_line = current_line + 1
print_a_line(current_line ,current_file)

current_line = current_line + 1
print_a_line(current_line ,current_file)


这次好像是练习函数和文件协作。

其中 rewind 的意思是 “重绕,倒回”的意思

现在我们要加上注释了!


#-*-coding:utf-8-*-
from sys import argv #不解释了

script,input_file = argv #两个参数

def print_all(f): #定义print_all,这里的f是一个变量,其实也指的是一个文件,比如下面19行的current_file
    print f.read() #打印f.read() 

def rewind(f): #定义rewind
    f.seek(0) #运行f.seek(0)就回到了文件的开始

def print_a_line(line_count,f): #定义print_a_line
    print line_count ,f.readline() #运行f.readline()就会读取文件的一行

current_file = open(input_file) #打开一开始输入的文件,然后放到current_file里面

print "First let's print the whole file:\n"

print_all(current_file) #打印当前文件

print "Now let's rewind ,kind of like a tape."

rewind(current_file) #回到文件开始

print "Let's print three lines:"

current_line = 1 #定义当前行为1
print_a_line(current_line, current_file) #打印当前文件的当前行

current_line = current_line + 1 #当前行+1
print_a_line(current_line ,current_file) #打印当前文件的当前行

current_line = current_line + 1 #当前行+1
print_a_line(current_line ,current_file) #打印当前文件的当前行

其实应该看到的结果是


其实这里给我的心得就是变量什么的和C++不一样,我C++习惯一开始定义好

Python里面好像要用即时就加上...

==========================================================================================

附加练习

1.见上面


4. seek()方法在偏移设定该文件的当前位置。参数是可选的,默认为0。

0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

5.其实跟c++一样?

num+=1 就是 num=num+1 的意思吧



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值