欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python3之文件、文件操作

程序员文章站 2022-07-10 14:10:57
...
一、文件
#coding=utf-8

file = open("xx.txt","w+")#以读写的方式打开文件(不存在则新建)
file.write("hello world,hello world")#写入字符串到缓冲区
file.flush()#将缓冲区的内容写入磁盘
print(file.tell())#获取文件指针位置
file.seek(0)#将文件指针重新定位到文件开头
print(file.read())#读取整个文件
file.close()#关闭文件

测试结果:

F:\python_projects\venv\Scripts\python.exe F:/python_projects/test.py
23
hello world,hello world

进程已结束,退出代码0

1.文件打开模式

r 读方式(文件不存在会报错)
w 写方式(文件不存在会新建)
a 追加模式打开(从EOF开始,必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开
a+ 以读写模式打开
rb 以二进制读模式打开
wb 以二进制写模式打开
ab 以二进制追加模式打开
rb+ 以二进制读写模式打开
wb+ 以二进制读写模式打开
ab+ 以二进制读写模式打开

2.文件的读写操作

file.read([size]) #size为读取的长度,以byte为单位,默认读取整个文件
file.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分
file.readlines([size]) #读取整个文件,把文件每一行作为一个list的一个成员,并返回这个list。如果提供size参数,size是表示读取内容的总长
注意:读取文件中包含换行符,需要自行去掉 xx.rstrip(“\n”)

3.

  • file.seek(offset,from)文件指针定位

    • offset:偏移量
    • from:方向
      • 0:表示文件开头
      • 1:表示当前位置
      • -1:表示文件末尾
  • file.tell()获取文件指针的位置

  • fp.truncate([size])把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

4.os模块常见操作

os 模块提供了非常丰富的方法用来处理文件和目录

os.getcwd():得到当前工作目录,即当前python脚本工作的目录路径。
os.listdir():返回指定目录下的所有文件和目录名
os.remove(file):删除一个文件
os.mkdir(name):创建目录
os.rmdir(name):删除目录
os.removedirs(r”c:\python”):删除多个目录
os.exit():终止当前进程
os.path.split():返回一个路径的目录名和文件名
os.path.isfile()和os.path.isdir()分别检验给出的路径是一个目录还是文件
os.path.existe():检验给出的路径是否真的存在
os.chdir(dirname):改变工作目录到dirname
os.path.join(path,name):连接目录与文件名或目录
os.rename(oldname,newname):文件或目录重命名

5.shutil模块

shutil模块是高级的文件,文件夹,压缩包处理模块

shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中
shutil.copyfile(src, dst)拷贝文件
shutil.copy(src, dst)拷贝文件和权限
shutil.rmtree(path[, ignore_errors[, onerror]])递归的去删除文件
shutil.move(src, dst)递归的去移动文件,它类似mv命令,其实就是重命名

详细的shutil模块使用说明


文章主要是本人在学习python过程中的一些笔记,便于后期复习,所以某些地方不会很详细。由于个人水平的限制,若有错误的地方,还请指正。代码部分是在python3环境下测试。