目录

  • 1 前言
    • 1.1  Python解释器安装
    • 1.2  PyCharm开发环境
  • 2 Python程序设计实验
    • 2.1  实验1 基本输入输出
    • 2.2  实验2 基本运算
    • 2.3  实验3 字符串处理
    • 2.4  实验4 列表与元组应用
    • 2.5  实验5 列表与元组应用
    • 2.6  实验6 字典与集合应用
    • 2.7  实验7 函数应用1
    • 2.8  实验8 函数应用2
    • 2.9  实验9 类的创建与应用
    • 2.10  实验10 模块应用
    • 2.11  实验11 文件操作
    • 2.12  实验12 异常处理
    • 2.13  实验13 使用正则表达式
    • 2.14  实验14 tkinter基础应用
  • 3 学习参考
    • 3.1  1 Python及其IDLE环境
    • 3.2  2 Python代码规范
    • 3.3  3 使用变量
    • 3.4  4 输入输出
    • 3.5  5 运算符
    • 3.6  6 字符串
    • 3.7  7 条件语句
    • 3.8  8 循环语句
    • 3.9  9 列表
    • 3.10  10 元组
    • 3.11  11 字典
    • 3.12  12 集合
    • 3.13  13 自定义函数
    • 3.14  14 内置函数
    • 3.15  15 类的创建和使用
    • 3.16  16 类的继承与多态
    • 3.17  17 time模块
    • 3.18  18 os模块
    • 3.19  19 random模块
    • 3.20  20 文件
    • 3.21  21 错误与异常处理
 20 文件

1、使用open方法打开、新建文件。

其格式为:

open(file,mode='r',buffering=-1)

---参数说明:

   ---file:含路径的文件名。当前路径时可只给出文件名。

   ---mode:文件打开的模式。可以是:

      b:二进制形式(缺省时以文本形式)

      r:只读方式。文件必须存在

      w:只写方式。文件存在则覆盖;文件不存在则创建

      +:更新方式(可读写)。需与a、r或w结合使用

      a:追加方式(数据只能添加到文件尾),文件不存在则创建

      ***以上模式可以结合。模式共包括:r,rb,w,wb,a,ab,r+,rb+,w+,wb+,a+,ab+

   ---buffering:缓冲方式。设置为0时不使用文件缓冲,直接读定磁盘。一般使用默认值-1

示例:

f=open("D:\docs\inf.txt",'r')

g=open("datas.dat",'wb')

---计算机中文件分为二类:

   ---文本文件,即ASCII文件,存储的是字符,一个字符占一字节。由于数据在内存中是以二进制形式存储的,因此,读写这类文件需进行类型转换。

   ---二进制文件,存储二进制数据。

   ---文件打开后,读写完成必须关闭。方法:调用文件对象的内置函数close()。


2、从文件读取数据的主要方法

---使用read方法

   ---格式:read([size])

   ---作用:从文件当前位置读取size字节。不指定size时读取全部数据。

示例:

f=open("a.txt")    #以只读方式打开文本文件

print(f.read(4))   #读取前4个字节并显示

print(f.read())    #读取剩余的全部字节并显示

f.close()

---使用readline方法

   ---格式:readline()

   ---作用:从当前位置读取一行数据(包括回车符“\n”)

示例:

f=open("a.txt")

s=f.readline()

while s:

    print(s,end='')   #注意:s末尾已有换行符

    s=f.readline() 

f.close()

---使用readlines方法

   ---格式:readlines()

   ---作用:读出所有行。返回的是以行为元素的列表。注意与read()的区别。

示例:

f=open("a.txt")

s=f.readlines()

for r in s:

    print(r,end='')   #注意:r末尾已有换行符

f.close()

---使用文件对象(是可迭代对象)

f=open("a.txt")

for r in f:

    print(r,end='')   #注意:r末尾已有换行符

f.close()


3、当文件以写方式打开时,可以使用以下方法将数据写入文件:

---write方法

   ---格式:write(str)

   ---作用:将数据写入文件。对于二进制文件,str必须bytes。对于文本文件,str必须是字符串。

   ---返回值:成功写入的字节数。

示例:

f=open("C:\a.txt","w")

f.write("abcde")

f.close()

f=open("C:\x.txt","bw")

f.write(b'ÖÐÄÏÁÖÒµ¿Æ¼¼´óѧ')

f.close()

---writelines方法

   ---格式:writelines(line)

   ---作用:将多行数据写入文件。

示例:

f=open("C:\x.txt","w")

f.writelines(['a','b','c'])   #以行为列表元素

f.close( )

---print函数

   ---格式:print(*obj,sep=' ',end='',file=sys.stdout)

   ---作用:在文件file上输出obj指定的数据。默认文件是标准输出文件(显示器)。

示例:

f=open("C:\x.txt","w")

print("How are you",file=f)

f.close()


4、文件定位

   默认情况下,文件的读写操作都是连续的,程序总是从上一次读写的位置继续向下进行读写操作。同时,文件对象也提供了获取、改变文件读写位置的方法:

---tell():获取文件当前读写位置。如:

f=open("inf.txt")

print(f.tell())     #输出文件读写的起始位置:0

a=f.read(5)         #从当前读写位置读取5个字节的数据

print(f.tell())     #输出当前读写位置:5

f.close()

---seek(offest,from):定位文件读写位置。

   ---参数offest指定需要移动的字节数

   ---参数from指定移动的开始位置。可以是:

      ---0:文件头

      ---1:当前位置

      ---2:文件尾

   ***对于以文本方式打开的文件,from只能为0。否则触发错误。

示例:

f=open("a.txt","rb")

f.seek(-5,2)

a=f.read(5)