上一篇文章: Python异常处理
下一篇文章: Python文件夹处理
打开语法:open(文件名,访问模式)关闭语法:close()程序员
访问模式 | 解释 |
---|---|
r | 以只读方式打开,文件的指针将会放在文件的开头。这是默认方式。 |
w | 打开一个文件,用于全新写入。若是文件以存在,将会覆盖,若是不存在,将会建立。 |
a | 打开一个文件,用于追加。若是文件以及存在,将会把文件指针放到文件末尾,若是不存在,将会新建。 |
rb | 以二进制方式打开一个文件,用于只读。 |
wb | 以二进制方式打开一个文件,用于全新写入。若是文件已经存在,将会覆盖,若是不存在,将会建立。 |
ab | 以二进制方式打开一个文件,用于追加写入。若是文件存在,将会把文件指针放到文件末尾;若是不存在,将会新建。 |
r+ | 打开一个文件用读写,文件指针将会放在文件开头。 |
w+ | 打开一个文件用于读写。若是文件已经存在,则覆盖,不存在则建立。 |
a+ | 打开一个文件用于追加读写。若是文件已经存在,文件指针将会在文件末尾。若是文件不存在,将会建立。 |
rb+ | 以二进制方式打开一个文件用于读写,文件指针将放在文件开头。 |
wb+ | 以二进制方式打开一个文件用于读写,若是文件存在将被覆盖,不存在将会建立。 |
ab+ | 以二进制方式打开一个文件用于读写,若是文件存在,文件指针将会在文件末尾,若是文件不存在,将会建立。 |
实例:segmentfault
#第一次运行将会新建一个文件test.txt file=open("text.txt","w") #关闭 file.close()
结果:指针
当前目录下回出现一个新文件:text.txtcode
使用write()来写入数据
实例:rem
#第一次运行将会新建一个文件test.txt file=open("text.txt","w") file.write("这么帅的程序员,人间罕见呀。") #关闭 file.close()
结果:text.txt文件内容为:get
这么帅的程序员,人间罕见呀。
read(num):num表示从文件中读取的长度,单位字节,若是没有传num,将会读取文件的全部内容。
实例:it
text.txt:table
这么帅的程序员,人间罕见呀。
程序代码:class
#第一次运行将会新建一个文件test.txt file=open("text.txt","r") print(file.read(2)) print(file.read()) #关闭 file.close()
结果:test
这么 帅的程序员,人间罕见呀。
不难看出:若是读了屡次,下次读取是从上次读取结束位置开始的。
readlines(num):num为读取行数,若是不指定,将会返回所有,返回结果是有每行数据做为每一个元素而组成的列表。
实例:
text.txt:
这么帅的程序员,人间罕见呀。 如今看到这句话的人是世上最幸运的人, 由于他(她)看到了的最帅的程序员写的Bug。
程序代码:
#第一次运行将会新建一个文件test.txt file=open("text.txt","r") content=file.readlines() #type方法用来查看对于数据所属类型 print(type(content)) print(content) #关闭 file.close()
结果:
<class 'list'> ['这么帅的程序员,人间罕见呀。\n', '如今看到这句话的人是世上最幸运的人,\n', '由于他(她)看到了的最帅的程序员写的Bug。']
每次读取一行
实例:
text.txt:
这么帅的程序员,人间罕见呀。 如今看到这句话的人是世上最幸运的人, 由于他(她)看到了的最帅的程序员写的Bug。
程序代码:
#第一次运行将会新建一个文件test.txt file=open("text.txt","r") print(file.readline()) print(file.readline()) print(file.readline()) #关闭 file.close()
结果:(每行后面都有换行符,全部下面结果行数之间会有空格)
这么帅的程序员,人间罕见呀。 如今看到这句话的人是世上最幸运的人, 由于他(她)看到了的最帅的程序员写的Bug。
tell():获取当前读写位置。
实例:
text.txt:(注意,此处该用了字母,没有汉字,用了汉字结果会怎样呢,有奖竞猜呢😀)
ABCDEFG
程序代码:
#第一次运行将会新建一个文件test.txt file=open("text.txt","r") print("当前位置:",file.tell()) print("读取到的数据:",file.read(3)) print("当前位置:",file.tell()) print("读取到的数据:",file.read(3)) print("当前位置:",file.tell()) #关闭 file.close()
结果:(每行后面都有换行符,全部下面结果行数之间会有空格)
当前位置: 0 读取到的数据: ABC 当前位置: 3 读取到的数据: DEF 当前位置: 6
seek(offset,from):用来进行定位。offset:偏移量
from:0表示文件开头,1表示当前位置,2表示文件结尾
实例:
text.txt:(注意,此处该用了字母,没有汉字,用了汉字结果会怎样呢,有奖竞猜呢😀)
ABCDEFG
程序代码:
#第一次运行将会新建一个文件test.txt file=open("text.txt","r") print("当前位置:",file.tell()) print("读取到的数据:",file.read(1)) print("当前位置:",file.tell()) #将位置移动到:从文件开始的3个字节处 file.seek(3,0) print("当前位置:",file.tell()) print("读取到的数据:",file.read(1)) #关闭 file.close()
结果:(每行后面都有换行符,全部下面结果行数之间会有空格)
当前位置: 0 读取到的数据: A 当前位置: 1 当前位置: 3 读取到的数据: D
os模块中的rename()能够完成对文件的重命名
import os #将text.txt重名为mark.txt os.rename("text.txt","mark.txt")
os模块中的remove()能够完成文件删除操做
import os os.remove("mark.txt")