python基础学习之文件操作

文件

 

文件:两种格式,一种是文本模式,一种是二进制格式。

 

1.open()函数

>>> help(open)

Help on built-in function open in moduleio:

open(file, mode='r', buffering=-1,encoding=None, errors=None, newline=None, closefd=True, opener=None)

Open file and return a stream.  Raise IOError upon failure.

 第一个参数是文件名,如果没有带路径则在当前默认路径下查找

第二个参数是打开模式

 

例子:

>>> f =open("E:\\test.txt")

>>> f

<_io.TextIOWrapper name='E:\\test.txt'mode='r' encoding='cp936'>

此时默认为文本模式打开。编码为cp936的格式。

 

2.f.close()函数  关闭文件

虽然python有垃圾回收机制,但是还是要养成打开文件记得关闭的好习惯。

 

3.f.read(size=-1)

从文件读取size个字符,当未给定size或者给定负值的时候,读取剩余的所有字符,然后作为字符串返回。

read的时候是从文件指针的地方开始读取的。当刚刚打开文件的时候文件指针在文件最开始;当读取完整个文件时文件指针在文件最末尾。如果已经读取完整个文件后再调用read函数则不会读到任何字符。(所以读取后需要适当调整文件指针的位置)

 

>>> f =open("E:\\test.txt")

>>> f.read()

'DriverMonitor\nDDK wizard\n\nwindows 内核情景分析\n\nWindows内核原理实现'

>>> f.read()

''

>>> f.close()

>>>

>>> f =open("E:\\test.txt")

>>> f.read(5)

'Drive'

 

4.f.readline()

以写入模式打开,如果文件存在,则在末尾追加写入。

 

5.f.tell()

返回当前文件指针的位置。

 

6.seek(offset,from)

在文件中移动文件指针,从from的位置偏移offset个字节。from的位置:0代表文件起始位置,1代表当前位置,2代表文件末尾

 

>>> f =open("E:\\test.txt")

>>> f.read(5)

'Drive'

>>>

>>> f.tell()

5

>>> #read()的参数为字符size,而tell()函数返回的是字节数,所以如果是中文字符,read的参数和tell的返回值是不一样的。

>>> f.seek(45,0)

45

>>>#此时表示把文件指针移到从文件开始向后数45个字节的位置。

>>> f.readline()

'分析\n'

>>>#此时从文件指针位置开始读这一行的剩下的内容

>>> f.tell()

51

>>> f.seek(0,0)

0

>>>#表示把文件指针移到文件开始位置

 

 

7.f.write(str)

将字符串str写入文件

 

>>> #文件的写入

>>> #如果要写入文件,要确保打开的时候打开模式为 w 或 a

>>> f =open("E:\\test0.txt",'w')

>>> #此时创建了一个新的文件

>>>

>>> f.write('python基础学习')

10

>>> f.close()

 

8.f.writelines(seq)

向文件写入字符串序列seq,seq需要时一个返回字符串的可迭代对象。

 

注意:使用如果要写入文件,要确保打开的时候打开模式为 w 或 a

 

9.for循环读取文件内容:for each in f

>>> f =open("E:\\test.txt")

>>> line = list(f)

>>> for each in line:

         print(each)

 

        

DriverMonitor

DDK wizard

windows 内核情景分析

Windows内核原理实现

>>> 

>>> #当数据很长时要转化成非常大的列表,这样不是很好。

>>>

>>> f.seek(0,0)

0

>>> for each in f :

         print(each)

 

        

DriverMonitor

DDK wizard

windows 内核情景分析

Windows内核原理实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值