前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《笨办法学Python》 第20课手记

《笨办法学Python》 第20课手记

作者头像
Steve Wang
发布2018-02-05 16:08:46
4850
发布2018-02-05 16:08:46
举报
文章被收录于专栏:从流域到海域从流域到海域

《笨办法学Python》 第20课手记

本节课讲函数与文件,内容比较简单,但请注意常见问题解答,你应该记住那些内容。

指针表示存储地址。

原代码如下:

代码语言:javascript
复制
from sys import argv #从sys模组中引入argv

script, input_file = argv #将argv的列表变量赋值给script和input_file

def print_all(f): #定义一个打印文件的函数
  print f.read() #函数主体,打印从f变量中读取的内容

def rewind(f): #定义一个复读函数
  f.seek(0) #函数主体使用seek设置文件(指针)的偏移。这里,作者想要你知道它的存在,看不懂先记住就好

def print_a_line(line_count, f): #定义一个只打印一行的函数,并将文件内部指针移向下一行
  print line_count, f.readline()

current_file = open(input_file) #使用open函数打开文件,并赋值给curren_file(文件变量)

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

print_all(current_file) #调用函数print_all

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

rewind(current_file) #调用函数rewind,rewin读取的是文件内部的指针,而不是文件的指针

print "Let's print three lines:"

current_line = 1 #current_line表示行号的变量,首先置1
print_a_line(current_line, current_file)  #调用print_a_line函数,下同

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)

结果如下:

这里写图片描述
这里写图片描述

本节课涉及的内容

Python中对于本节课涉及到的部分函数的解释:

使用 python -m podoc file 可查看,你需要按下回车以显示更多内容才能看到这里

这里写图片描述
这里写图片描述

seek函数: file.seek(offset[, whence])

offset: 文件的读/写指针位置。 whence: 这是可选的,默认为0,这意味着绝对的文件定位,其他值是1,这意味着当前的位置和2手段寻求相对寻求相对文件的结束。

f.seek(0)表示将指针转移到文件的0byte位置,即开始位置。

readline读取一行之后会将文件内部的指针移向下一行,下次调用readline则会读取下一行位置。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年01月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 《笨办法学Python》 第20课手记
  • 本节课涉及的内容
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档