python 文本处理操作
打开和关闭文件
open 函数
用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写 '''
模式 描述 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 '''
open函数,创建一份files文件
1 2 3 4 | # eg_v1 files = open ( "file.txt" , "w" ) # "w" files.write( "hello,welcome to python !!" ) # 在file.txt文本内输入内容 files.close() |
文件读取,read 方法
read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据
1 2 3 4 5 6 7 8 | # eg_v2 files_v2 = open ( "file.txt" , "r" ) print (files_v2.read( 20 )) files_v2.close() # >>> hello,welcome to pyt # 读取20个字符 # read()) 表示读取全部内容 # readline( ) 表示逐行读取 |
追加文件内容
1 2 3 4 | # eg_v3 files_v3 = open ( "file.txt" , "a" ) files_v3.write( "\npython is very nice!!" ) files_v3.close() |
file 文件的属性
1 2 3 4 5 6 7 8 9 10 11 12 | # 属性 描述 # file.closed 返回true如果文件已被关闭,否则返回false。 # file.mode 返回被打开文件的访问模式。 # file.name 返回文件的名称。 # file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。 #eg_v4 print (files_v3.closed) # 检查文件是否已经关闭 # >>> True print (files_v3.mode) # 返回被打开文件的访问模式 # >>> a print (files_v3.name) # 返回文件的名称。 # >>> file.txt |
write 方法
1 2 3 | files_v4 = open ( "file.txt" , "a" ) files_v4.write( "\nbut,Not easy to learn" ) files_v4.close() |
write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据 #write()方法不会在字符串的结尾添加换行符('\n')
文件定位
tell() 方法告诉你文件内的当前位置
seek(offset [,from])方法改变当前文件的位置,Offset 变量表示要移动的字节数,From 变量指定开始移动字节的参考位置
1 2 3 4 5 6 7 8 9 | files_v5 = open ( "file.txt" , "r" ) files_v5.read( 10 ) print (files_v5.tell()) # 当前指针位置 # >>> 10 files_v5.seek( 0 , 0 ) # 将指针重定位 print (files_v5.tell()) # 当前指针位置 # >>> 0 files_v5.close() |
文件重命名
文件重命名需要使用python的os模块
rename() 方法,需要两个参数,当前的文件名和新文件名。
1 2 3 | # import os os.rename( "file.txt" , "file001.txt" ) |
删除文件
1 2 3 | # import os os.remove( "file001.txt" ) |
remove()方法.语法:os.remove(file_name)
file 文件对象常用的函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 序号 方法及描述 # 1 file.close() 关闭文件。关闭后文件不能再进行读写操作。 # 2 file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 # 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([sizehint]) 读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比sizhint较大, 因为需要填充缓冲区。 # 9 file.seek(offset[, whence]) 设置文件当前位置 # 10 file.tell() 返回文件当前位置。 # 11 file.truncate([size]) 截取文件,截取的字节通过size指定,默认为当前文件位置。 # 12 file.write(str) 将字符串写入文件,没有返回值。 # 13 file.writelines(sequence) 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!