广告
返回顶部
首页 > 资讯 > 后端开发 > Python >【13】Python之常用文件操作
  • 921
分享到

【13】Python之常用文件操作

常用操作文件 2023-01-31 06:01:46 921人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

File对象使用open函数来创建,下表列出file对象常用的函数。序号方法描述1file.close()关闭文件。关闭文件后不能在进行读写。注:文件打开后别忘记关闭。2file.flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写

File对象使用open函数来创建,下表列出file对象常用的函数。

序号

方法

描述

1

file.close()

关闭文件。关闭文件后不能在进行读写。注:文件打开后别忘记关闭。

2

file.flush()

刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,而不是被动的等待缓冲区的写入。(缓冲区好比PC机的内存)

3

file.fileno()

返回一个整型的文件描述(file descriptor FD整型),可以用在如OS模块的read方法等一些底层操作上

4

file.isatty()

如果文件连接到一个终端上返回True,否则False

5

file.next()

返回文件下一行

6

file.read([size])

从文件读取指定的字节数,如果未给定或为负则读取所有。

7

file.readline([size])

读取整行,包括\n字符

8

file.readlines([sizeint])

读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行,实际读取值肯能比sizeint较大,因为需要填充缓冲区

9

file.seek(offset[, whence])

设置文件当前位置

10

file.tell()

返回文件当前位置

11

file.truncate([size])

从文件的首行首字符开始截断,截断文件为size个字符,五size表示从当前位置截断;截断之后V后面的所有字符被删除,其中windows系统下的换行代表2个字符大小。

12

file.write(str)

字符串写入文件,没有返回值。

13

file.writelines(sequence)

向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

 

 

file.close()

概述:关闭文件。关闭文件后不能在进行读写。注:文件打开后别忘记关闭。

f=open('so_file',encoding="utf-8")  #打开文件,并读取。Windows上默认字符集GDK,所以这里指定了字符集,不然会报错。(#UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 106: illegal multibyte sequence
data=f.read()  #将读取的内容赋值给data
print(data)
f.close()  #一定要关闭,才是一个完成的读取文件方式。

 

 

打开文件的模式有:

  • r,只读模式(默认)。

  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】

  • a,追加模式。【可读; 不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写;可追加】

  • w+,写读

  • a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU

  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb

  • wb

  • ab

     

    File.flush()

    概述:用来刷新缓冲区的,即将缓冲区的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

    一般情况下文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新她,这时就可以使用flush方法。

f=open('so_file','wb')  #打开文件,并读取。
# data=f.read()  #将读取的内容赋值给data
# print(data)
print("file name is :",f.name)
f2=f.flush()
# print(f2)
f.close()

运行结果:

file name is : so_file

注意:二进制模式下,不支持编码参数

 

缓冲flush作用效果图:(执行有惊喜)

import sys,time
f=open('so_file','r+',encoding="utf-8")
for i in range(20):
    sys.stdout.write("#")
    sys.stdout.flush()
    time.sleep(0.1)

运行结果:

####################

 

File.fileno()

概述:返回一个整型的文件描述(file descriptor FD整型),可以用在如OS模块的read方法等一些底层操作上

f=open('so_file','wb')  #打开文件,并读取。
# data=f.read()  #将读取的内容赋值给data
# print(data)
print("file name is :",f.name)
# f2=f.flush()
fidd=f.fileno()
print("file》》》",fidd)  #返回文件描述符
f.close()

运行结果:

file name is : so_file

file》》》 3

 

File.isatty()

概述:如果文件连接到一个终端上返回True,否则False

f=open('so_file','wb')  #打开文件,并读取。
# data=f.read()  #将读取的内容赋值给data
# print(data)
print("file name is :",f.name)
fin=f.isatty()
print("file》》》",fin)
f.close()

运行结果:

file name is : so_file

file》》》 False

 

File.readline()

概述:读取整行,包括\n字符

f=open('so_file','r+',encoding="utf-8")
print("file name is :",f.name)
# for index in range(5):
#     line = next(fo)
#     print ("第 %d 行 - %s" % (index, line))
data=f.readline() #不填默认读取一行
print("读取首行:",data)
data1=f.readline(5)  #读取N个字符
print("读取%s个字符" %(data1),data1)
f.close()

运行结果:

file name is : so_file

读取首行: Somehow, it seems the love I knew was always the most destructive kind

 

读取Yeste个字符 Yeste

 

File.readlines()

概述:用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 python 的 for... in ... 结构进行处理。 如果碰到结束符 EOF 则返回空字符串。
如果碰到结束符 EOF 则返回空字符串。

f=open('so_file','r+',encoding="utf-8")
print("file name is :",f.name)
data=f.readlines()  #全部打印结尾加\n
print(data)
f.close()

 

第十行不打印

f=open('so_file','r+',encoding="utf-8")
for index,info in enumerate(f.readlines()):
    if index==9:
        print('--------GO-------')
        continue
    print(info.strip())
f.close()

高效的循环方法:

f=open('so_file','r+',encoding="utf-8")
count=0
for line in f:
    if count==9:
        print('---------GO--------')
        count +=1
        continue
    print(line)
    count +=1

 

File.tell()

概述:反馈文件当前位置,即文件指针当前位置

f=open('so_file','r+',encoding="utf-8")
data=f.readline()
print("读取数据为:%s"%(data))
data2=f.tell()
print("当前位置:%s" %(data2))

运行结果:

读取数据为:Somehow, it seems the love I knew was always the most destructive kind

 

当前位置:72  #read结束,全文72行

 

File.seek()

概述:指针移动到之指定位置

 

File.truncate()

概述:用于从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后 V 后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。

.truncate()什么都不写,清空文件。指定数字就会截断个数。

 

 

File.write()

修改部分值,写入新文件。

f=open('so_file','r',encoding="utf-8")
f_new=open('so_file2','w',encoding="utf-8")
for line in f:
    if "生命的滋味是甜的" in line:
        line=line.replace("生命的滋味是甜的","生命的滋味是幸福的")
    f_new.write(line)
f.close()
f_new.close()

运行结果:

So_file文件内容

Somehow, it seems the love I knew was always the most destructive kind
不知为何,我经历的爱情总是最具毁灭性的的那种
Yesterday when I was young
昨日当我年少轻狂
The taste of life was sweet
生命的滋味是甜的
As rain upon my tongue
就如舌尖上的雨露
I teased at life as if it were a foolish game
我戏弄生命 视其为愚蠢的游戏
The way the evening breeze
就如夜晚的微风
May tease the candle flame

So_file2文件内容(新文件)

Somehow, it seems the love I knew was always the most destructive kind
不知为何,我经历的爱情总是最具毁灭性的的那种
Yesterday when I was young
昨日当我年少轻狂
The taste of life was sweet
生命的滋味是幸福的
As rain upon my tongue
就如舌尖上的雨露
I teased at life as if it were a foolish game
我戏弄生命 视其为愚蠢的游戏
The way the evening breeze
就如夜晚的微风
May tease the candle flame

 

 

 


--结束END--

本文标题: 【13】Python之常用文件操作

本文链接: https://www.lsjlt.com/news/190360.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【13】Python之常用文件操作
    File对象使用open函数来创建,下表列出file对象常用的函数。序号方法描述1file.close()关闭文件。关闭文件后不能在进行读写。注:文件打开后别忘记关闭。2file.flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写...
    99+
    2023-01-31
    常用 操作 文件
  • Python之文件操作
    Python可以对文件进行查看、创建等功能,可以对文件内容进行添加、修改、删除,且所使用到的函数在Python3.5.x为open,在Python2.7.x同时支持file和open,但是在3.5.x系列移除了file函数。Python文件...
    99+
    2023-01-31
    操作 文件 Python
  • day17-python之文件操作
    1.内置函数 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # print(abs(-1)) 4 # print(abs(1)) 5 # 6 # print...
    99+
    2023-01-31
    操作 文件 python
  • python文件基础之(文件操作)
        在之前学习了python的列表、元组、集合等知识,接下来将python的文件相关的知识做一总结和分析。一 open函数 在我们用word、excel、vim对文件操作时,肯定要先打开文件,同样在编程里面也是需要将文件打开,然后再对文...
    99+
    2023-01-31
    文件 操作 基础
  • python基础之文件操作和异常处理
    目录一、文件和异常1.1从文件中读取数据1.2open()1.3关键字with1.4read()二、逐行读取三、创建一个包含文件各行内容的列表3.1readlines()四、查找字符...
    99+
    2022-11-12
  • python基础之文件操作
    目录1、打开文件2、写入3、追加4、读文件5、文件拷贝6、tell()7、truncate(size)8、seek()1、打开文件 open()函数简介 : 打开文件使用open函数...
    99+
    2022-11-12
  • Python全栈之文件操作
    目录1. 字典的相关函数2. 集合的操作_函数3. 文件基本操作4. 文件扩展模式小提示:总结1. 字典的相关函数 字典的相关函数 # ### 字典的相关函数 dic = {} ...
    99+
    2022-11-12
  • Python操作Excel之xlsx文件
    前言 之前处理excel的读写时用的是xlrd/xlwt,但是这两个库有个缺点就是只对xls的格式处理的比较好,对以xlsx结尾的格式就不行了。由于现在大家使用的都是最新版本的office,excel的格式...
    99+
    2022-06-04
    操作 文件 Python
  • Python 之文件读写操作
    Python 读写文件    1、打开文件        使用 open 打开文件后,格式:open(filename,mode),最后一定要调用文件对象的 close() 方法,如图所示:                使用到的模式(mo...
    99+
    2023-01-31
    操作 文件 Python
  • Python学习之文件操作
    #/usr/bin/python content='''\                      #这里使用''' This is a test file for python ''' f=file('content.txt','w'...
    99+
    2023-01-31
    操作 文件 Python
  • python之json文件读写操作
    文章目录 python操作json的四种方法json.loadsjson.loadjson.dumpsjson.dump python操作json的四种方法 python操作js...
    99+
    2023-09-03
    python json
  • Python文件操作之二进制文件详解
    目录1.二进制读取模式rb读取模式将读取到的内容写入到文件总结1.二进制读取模式 rt 读取文本文件(默认值) rb 读取二进制文件 file_name = ...
    99+
    2022-11-12
  • Python全栈之路系列之文件操作
    Python可以对文件进行查看、创建等功能,可以对文件内容进行添加、修改、删除,且所使用到的函数在Python3.5.x为open,在Python2.7.x同时支持file和open,但是在3.5.x系列移除了file函数。 Python...
    99+
    2023-01-31
    之路 操作 文件
  • Python全栈开发之文件操作
    No.1 文件的概念 文件的概念和作用 计算机中的文件,就是存储在某种长期储存设备上的一段数据流 计算机中的文件,可以在需要的时候使用 文件的存储方式 文本文件 可以使用文本编辑器查看 本质上还是二进制文件 二进制文件 保留的内容不能直接...
    99+
    2023-01-31
    操作 文件 Python
  • python之文件操作、OS模块、CSV
    1 文件系统和文件 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件...
    99+
    2023-01-31
    模块 操作 文件
  • python之day3(文件操作、字符转
    文件操作 f=open(“yesterday”,”r”,encoding=”utf-8”)  #以只读模式打开文件data=f.read()                             #读取所有内容data2=f.read()...
    99+
    2023-01-31
    字符 操作 文件
  • Python面向对象之文件操作
    文件的概念 文件的概念和作用 计算机的文件,就是存储在某种长期存储设备上的一段数据;长期存储设备包括:U盘,硬盘,移动硬盘,光盘,等; 文件的作用:将数据长期保存,在需要的时候使用; 文件的存储方式 在计算机中,文件是以二进制的形式保...
    99+
    2023-01-31
    面向对象 操作 文件
  • python开发之文件操作用法实例
    本文实例讲述了python开发之文件操作用法。分享给大家供大家参考,具体如下: 先来看看官方API:os-Miscellaneous operating system interfaces 下面是我做的de...
    99+
    2022-06-04
    实例 操作 文件
  • python文件常用操作方法有哪些
    文件的一般操作步骤打开文件或创建新文件:使用相应的编程语言和对应的库或模块打开一个已经存在的文件或者创建新文件。读取文件内容或向文件中写入内容:通过读取文件内容或向文件中写入内容来实现对文件的操作,可以使用相应的方法和函数来实现。处理文件数...
    99+
    2023-05-20
    Python
  • python文件目录操作之os模块
    一、os函数目录 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作目录 3 os.chflags(path, ...
    99+
    2022-06-02
    Python os模块 python文件目录操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作