python3.x---第一篇

文件操作

打开模式
w(write)以只写的方式。如果该文件已经存在则将其覆盖。如果不存在,则创建一个文件用于写入。
r(read)以只读的方式打开。文件的指针将会放在文件的开头。这是默认的模式
a(append)以追加的方式打开文件。如果该文件存在将新的内容追加到文件末尾。如果不存在,则创建新文件用于写入。
rb(read binary)以二进制的并且只读的方式打开一个文件。文件指针将会放在文件的开头。
r+打开一个文件用于读写。文件指针将会放在文件的开头。写进去的内容会覆盖原来的内容。
'''
读数据:使用read(count)函数可以从文件中读取数据,count表示要从文件中读取的数据的长度。
如果没有传,那么表示读取文件中的所有的数据。
'''
fp = open('test.txt','r')
# 读取前面5个字节的数据
line = fp.read(5)
print(line)
# 读取所有的数据
line = fp.read()
print(line)
  • 在Python3文件操作中默认的编码是系统自带的编码,需要指定编码方式
f = open('123.txt','w')
f.write('哈哈')
f.close()

out:
����
f = open('123.txt','w',encoding='utf-8')
f.write('哈哈')
f.close()

out:
哈哈
  • 以w方式写入会覆盖掉原有数据,以a方式写入不会覆盖,r+指针在开头,w+无用
#获取当前文件指针的位置:在读写的过程中,如果想要知道当前文件指针所在的位置,可以通过tell()来获取。
 fp = open('xxx.txt','r')
 str = fp.read(3)
 print('读取到的数据是:%s' % str)

 # 查看当前位置
 position = fp.tell()
 print("当前文件位置:%d" % position)

 fp.close()
'''
定位到某个位置:如果在读写文件的过程中,需要从另外一个位置进行操作,可以使用seek()。seek(offset,from)有2个参数,意义为如下:

offset:偏移量。
from:相对位置。

0:表示从文件开头。
1:表示从当前位置。
2:表示从文件末尾。
'''
# demo1:把相对位置设置为从文件开头,并且向后偏移5个字节。
fp = open("xxx.txt","r")
position = fp.tell()
print("当前文件指针位置是:%d" % position)
fp.seek(5,0)
position = fp.tell()
print('当前位置是:%d' % position)
str = fp.read()
print('读取到的字符串:%s' % str)

# demo2:把位置设置为:离文件末尾,3个字节处
fp = open("xxx.txt","r")
# 查看当前位置
pos = fp.tell()
print('当前文件指针位置:%d' % pos)
# 重新设置位置为离文件末尾3个字节位置,会报错
# fp.seek(-3,2)
fp.seek(0,2)
fp.seek(fp.tell()-3,0)
# 读取数据
str = fp.read()
# 关闭文件
fp.close()
#遍历文件
with open('123.txt','r',encoding='utf-8') as fp:
    for line in fp:
        print(line)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值