Python文件处理
上一篇文章:Python异常处理
下一篇文章:Python文件夹处理
1、文件的打开与关闭
打开语法:open(文件名,访问模式)关闭语法:close()
访问模式 | 解释 |
---|---|
r | 以只读方式打开,文件的指针将会放在文件的开头。这是默认方式。 |
w | 打开一个文件,用于全新写入。如果文件以存在,将会覆盖,如果不存在,将会创建。 |
a | 打开一个文件,用于追加。如果文件以及存在,将会把文件指针放到文件末尾,如果不存在,将会新建。 |
rb | 以二进制方式打开一个文件,用于只读。 |
wb | 以二进制方式打开一个文件,用于全新写入。如果文件已经存在,将会覆盖,如果不存在,将会创建。 |
ab | 以二进制方式打开一个文件,用于追加写入。如果文件存在,将会把文件指针放到文件末尾;如果不存在,将会新建。 |
r+ | 打开一个文件用读写,文件指针将会放在文件开头。 |
w+ | 打开一个文件用于读写。如果文件已经存在,则覆盖,不存在则创建。 |
a+ | 打开一个文件用于追加读写。如果文件已经存在,文件指针将会在文件末尾。如果文件不存在,将会创建。 |
rb+ | 以二进制方式打开一个文件用于读写,文件指针将放在文件开头。 |
wb+ | 以二进制方式打开一个文件用于读写,如果文件存在将被覆盖,不存在将会创建。 |
ab+ | 以二进制方式打开一个文件用于读写,如果文件存在,文件指针将会在文件末尾,如果文件不存在,将会创建。 |
实例:
#第一次运行将会新建一个文件test.txt
file=open("text.txt","w")
#关闭
file.close()
结果:
当前目录下回出现一个新文件:text.txt
2、写数据
使用write()来写入数据
实例:
#第一次运行将会新建一个文件test.txt
file=open("text.txt","w")
file.write("这么帅的程序员,人间罕见呀。")
#关闭
file.close()
结果:text.txt文件内容为:
这么帅的程序员,人间罕见呀。
3、读数据
read(num)
read(num):num表示从文件中读取的长度,单位字节,如果没有传num,将会读取文件的所有内容。
实例:
text.txt:
这么帅的程序员,人间罕见呀。
程序代码:
#第一次运行将会新建一个文件test.txt
file=open("text.txt","r")
print(file.read(2))
print(file.read())
#关闭
file.close()
结果:
这么
帅的程序员,人间罕见呀。
不难看出:如果读了多次,下次读取是从上次读取结束位置开始的。
readlines
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。']
readline
每次读取一行
实例:
text.txt:
这么帅的程序员,人间罕见呀。
现在看到这句话的人是世上最幸运的人,
因为他(她)看到了的最帅的程序员写的Bug。
程序代码:
#第一次运行将会新建一个文件test.txt
file=open("text.txt","r")
print(file.readline())
print(file.readline())
print(file.readline())
#关闭
file.close()
结果:(每行后面都有换行符,所有下面结果行数之间会有空格)
这么帅的程序员,人间罕见呀。
现在看到这句话的人是世上最幸运的人,
因为他(她)看到了的最帅的程序员写的Bug。
5、获取当前读写位置
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
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
7、文件的重命名
os模块中的rename()可以完成对文件的重命名
import os
#将text.txt重名为mark.txt
os.rename("text.txt","mark.txt")
8、文件的删除
os模块中的remove()可以完成文件删除操作
import os
os.remove("mark.txt")
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。