文件读写-10

Python文件的 读写:

以计算机硬盘载体储存在计算机上的信息集合,可以是文本、图片、声音、程序等多类型。

程序员的角度:文件只是连续的字节序列,数据的传输常用到字节流,字节流可以是由单个字节或大块数据组成。

文件类型:文本文件,二进制文件。

方法:

input 输入        output 输出

open()新建文件

fileobject=open(“file.name”“mode”)

操作方法(mode):

r:    读取(文件必须存在)

w:写入(如果文件存在,先清空其中数据,在重新创建)

a:追加(如果文件不存在,先自动创建文件,所有写入的数据都将追加到文件的末尾)

b:二进制文本(不能作为第一个字符出现。    如:rb    wb)

**以写方式打开的文件,不支持读操作。

r+:不清楚源文件的类容,读写方式打开,新添加的数据在文件尾部。

w+:清除原文件内容,读写方式打开,读不到原文件的内容。

a+:把原文件指针移到末尾,在文件末尾可以继续写数据,读数据不受影响。

file.close()    关闭文件(关闭文件,释放文件占用的资源)

1、垃圾收集机制也会在文件对象的引用计数为0时,自动关闭文件
2、如果不显示关闭文件,可能丢失输出缓冲区的数据。
3、如果已打开的文件没有及时关闭,该文件资源会被占用,将无法对该文件执行其他操作,如:删除文件的操作

**完成文件的操作后,要及时关闭文件,释放资源。

file.write()    写入字符串

file.writelines()    写入一个序列

注意:行为结束符并不会被自动写入;调用writelines()方法前,在每行结尾加上行结束符

file.read()    读取

file.readline()     读取一行数据返回一个字符串

file.readlines()    读取剩余数据,返回一个字符串列表。

文件指针:
1、指向文件中数据的指针,从文件开始处向后移动文件指针,读取文件中的数据
2、默认情况下,从左向右,从下至上移动
3、文件中数据操作都是通过文件指针实现的

4、文件指针不能自动往回移动

应用场合:在文件中查找数据;在文件指定位置变更数据时。
seek()方法在文件中移动文件指针到不同的位置。
file.seek.(offset,whence=0)
offset:相对于某个位置的偏移量,以字节为单位。
正数:从前向后移动指针
负数:从后往前移动指针
whence:指定偏移前的位置

0:文件开始出 1:指针的当前位置 2:文件末尾处

tell()方法获取当前文件指针在文件中的位置(从文件起始位置计算,单位为字节)


os模块:

os.mkdir("")    创建文件夹

os.rmdir("")    删除文件夹

os.rename(" "," ")    进行文件的重命名

os.getcwd()    获取文件路径

os.listdir("./")    获取当前路径下的所有文件,返回一个文件集

#获取文件的后缀

def    get(filename):

        return    filename[filename.rfind('.')+1:]

print(get('class.txt'))

#用循环读取文件的每一行:

op=open("aa.txt","r")

for    line    in     op:

                print(line,end="    ")

op.close()

#写

with open('123.txt','w',encoding='utf-8') as f:

    f.write('这是一个新的读写文件的方法,执行完后自动close')

#读

with open('123.txt','r',encoding='utf-8') as f:

    ss=f.readline()

    print(ss)

#网站爬虫

from urllib import request#请求 跟网站发请求 导入request
response=request.urlopen("http://www.baidu.com/")#打开网站
fi=open("project.text","w")#open一个TXT文件
page=fi.write(str(response.read()))#网站代码写入
fi.close() #上面是表示响应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值