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

本文通过《笨办法学Python》中的示例,详细介绍了Python中文件的基本操作,包括如何使用seek和readline等函数来控制文件读取的位置。通过具体代码演示了如何打开文件、打印全部内容、复位文件读取位置以及按行读取文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

指针表示存储地址。

原代码如下:

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则会读取下一行位置。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值