python的文件模块基础知识

本文介绍了Python中文件操作的基础知识,包括三种路径写法、访问模式如'r', 'w', 'wr',以及文件指针的管理。通过`seek()`和`tell()`函数可以定位和获取文件指针位置。读取文件有多种方式,如`read()`, `readline()`, `readlines()`。写模式下,使用`write()`将内容写入文件,并可通过`flush()`或`close()`确保数据写入。此外,提到了追加模式'a'以及`with`语句在文件操作中的作用和优势。" 82184122,7840328,IDEA快速搭建Springboot+Mybatis实践教程,"['Spring框架', 'Mybatis框架', 'Java开发', 'Web开发', 'IDEA']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三种路径写法:

fileDir1 = 'g:/pyTest.txt'

fileDir2 = r'g:/pyTest.txt'

fileDir3 = 'g:\\pyTest.txt'

 

file_object = open(file_name, access_mode='r')

access_mode: r(默认),w(写),wr读+写 w+读写

 

注意事项

1. 路径要正确

2.格式要带全 .txt

 

tell()获取文件指针位置 文件内部换行符是2个长度(windows), linux是一个。

fo = open(xx,xx)

fo.tell()

 

str1 = fo.read()

返回的类型是str, 不加参数时读取所有

 

str1 = fo.read(2) 可以加个数, 读取两个字符

str1 = fo.read() 读取全部

 

fo.seek(2) 里面数字不能为负数

fo.seek(0) 移动初始开头

 

seek, 移动指针位置, 有三种模式

seek(n) --O模式, 默认, 从头/0开始,从开始参考

seek(n,1) --1模式, 从当前位置 -这个要打开文件时用 br fo=open(fileDir1,'br')

seek(n,2) --2模式, 从 尾部位置 ps:也是向后移动

输出

往前移动:

seek(-n,2)

seek(-n,1) --不要超过范围,超过范围,会报错。

 

fo.readlines()返回的是列表,所以可以这么写

fo.readlines()[0]

fo.readline() 读一行,返回的是<class 'bytes'>

fo.read().splitlines() 获取所有行的同时,去掉所有的空字符\n,\t

 

写模式: w

如果该文件存在,所有内容会被清空

如果文件不存在,会自动创建一个文件

fo = open('filename.txt','w')

fo.write('123456\n') --此时只是保存在内存里, 没有写入文件里。 --实际写进文件里呀!!!

--有返回值,返回写的长度。

--这里的\n是一个字符。

要写入, 两种方法

1. fo.flush()

2. fo.close()

 

模式a 追加模式

写模式不能读。

读写都会去操作文件指针, 所以同时有读,写两个操作, 一定要注意指针的位置 。

 

with open(...) as fo:

with open(...) as fo,open(...) as f1:

优势:1, 可以操作多个文件 2, 会自动执行fo.close()

 

假设文件里只有两行数据

adcdef

123456

则#后面是输出结果:

with open(r'd:\ab.txt','r') as fo:

print(fo.tell()) #0

fo.readline()

print(fo.tell()) #8

fo.readline()

print(fo.tell()) #14

fo.seek(0) #将鼠标移动到开始

print(fo.tell()) #0

fo.read(4)

print(fo.tell())#4

fo.seek(2)#

print(fo.tell()) #2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值