Python文件处理

Python文件处理

上一篇文章: 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)
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
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。

五、获取当前读写位置

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")
相关文章
相关标签/搜索