Python系列之笨方法学Python是我学习《笨方法学Python》—Zed A. Show著

的学习思路和理解,如有不如之处,望指出!!!

本节是利用Python的函数做文件的IO处理

[TOC]

源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ex20.py
from
script,input_file=argv

def
print
def
f.seek(0
def
print

current_file=open(input_file)
print

print_all(current_file)
print

rewind(current_file)
print

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)

这里需要注意,在编译前需要创建一个txt文件

1
2
3
4
# 文件命名为11.txt
this is line 1
this is line 2
this is line 3

应该看到的编译结果

需要注意的知识点

  1. 复习下,我们前面学过的文件I/O的知识 复习传送门知乎传送门 CSDN传送门 这里就简单复习下read()的知识 read()命令方法从一个打开的文件中读取一个字符串。Python字符串可以是二进制数据,而不是仅仅是文字。 read()指令的标准语法如下:

    flieObject.read([count])

  2. 代码中用到了readline()指令 readline()会扫面文件中的每一个字节,知道找到一个\n为止,然后它会停止读取文件,并且 作为字符串返回此前的文件内容。文件f会记录每次调用readline()后的读取位置,这样它就可 以在下次被调用时读取接下来的一行了。

  3. 代码中用到的seek()指令 seek()方法用于移动文件读取指针到指定位置 标准写法:

1
fileObject.seek(offset[, whence])

参数:

offset: 开始的偏移量,也就是代表需要移动偏移的字节数

  1. **whence:**可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移; 0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

所以seek(0)的意思是从文件开头开始算起


这是**《笨方法学Python》**的第十一篇文章

希望自己可以坚持下去

希望你也可以坚持下去