python_文件操作

文件的打开和关闭

open函数

在python中,使用open函数,打开一个已经存在的文件,或者新建一个新文件。
函数语法 open(name[, mode[, buffering[,encoding]]])
name : 一个包含了你要访问的文件名称的字符串值(区分绝对路径和相对路径)。
mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。
buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

open函数常用参数说明:

open('文件名称’,‘打开的模式’)
r:只读打开,以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
r+:打开一个文件用于读写。文件指针将会放在文件的开头。(先读再写)
w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存
在,创建新文件用于读写。

代码如下:

# files=open('wr.txt','r',encoding='utf-8')
# content=files.read(11)#读取指定的长度。默认有一个回车。
# print(content)
# files.close()

输出结果:
123456789
4

一共输出11个字符。

文件的读写

readlines:可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素

with open as files 函数的使用

和open()区别,不需要关系,python自动判断关闭。

with open('wr.txt','r',encoding='utf-8') as files:
content=files.read()
print(content)

输出结果:
123456789
456789123

readlines按照行的方式,一次性把文件中的内容,返回列表。

代码:

files=open('wr.txt','r',encoding='utf-8')
content=files.readlines()#
print(content)
files.close()

输出:
[‘123456789\n’, ‘456789123\n’]

其他方式的逐行读取:一行一行的读。

files=open('wr.txt','r',encoding='utf-8')
i=1
for line in files:
    print('这是第%d行内容:%s'%(i,line))
    i+=1
files.close()

输出结果:
这是第1行内容:123456789

这是第2行内容:456789123

写入文件

files=open('wr.txt','w',encoding='utf-8')
content1='2222222'
files.write(content1)
files.close()


with open('wr.txt','r',encoding='utf-8') as files:
    content=files.read()
    print(content)

追加的方式写入:a

files=open('wr.txt','a',encoding='utf-8')
content1='\\n2222222'
files.write(content1)
files.close()


with open('wr.txt','r',encoding='utf-8') as files:
    content=files.read()
    print(content)

输出:
22222222222222\n2222222\n2222222

tell 查看文件指针

files=open('wr.txt','r',encoding='utf-8')
content=files.read(5)#读取指定的长度。默认有一个回车。
print("当前的数据时:",content)

position=files.tell()
print('当前的位置是:',position)
files.close()

输出:
当前的数据时: 22222
当前的位置是: 5

seek()函数 设置文件的指针位置。

比如:当指针的位置在5时候,可以用seek函数设置指针位置。

files=open('wr.txt','r',encoding='utf-8')
content=files.read(5)#读取指定的长度。默认有一个回车。
print("当前的数据时:",content)
position=files.tell()
print('当前的位置是:',position)

files.seek(0)
position=files.tell()
print('当前的位置是:',position)
content=files.read(2)#读取指定的长度。默认有一个回车。
print("当前的数据时:", content)
position = files.tell()
files.close()

输出结果:
当前的数据时: 22222
当前的位置是: 5
当前的位置是: 0
当前的数据时: 22

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值