python读写本地文件

python读写本地文件

这篇文章主要介绍python读写本地文件的操作方法和详细解析

一、文件的打开和创建以及读取

代码:


f=open('readfile_name.txt' , 'r' )
connect=f.read()
print(connect)
file.close()      #文件读取过后关闭文件

注释:

上面的三行代码,第一行的详细解析为:用open()函数直接打开括号中第一项的那个文本文件,如果该文件不存在将会自动创建然后进行读取,标识符 ‘r’ 是读的意思,为英文单词‘read’的缩写,文件名和标识符用逗号隔开;创建一个对象为 f ,这样才方便调用。第二行解析:自定义的变量connect(可以随意起的变量名)用来接收文件读取的内容,然后用之前创建的 f 对象调用read()方法进行读取。第三行解析:print()输出读取到的内容

由于文件读写时可能产生错误的,一旦出错,后面的f.close()就不会调用。所以为了保证无论是否出错都正确的关闭文件,我们可以使用try…finally…来实现:

try:
    f=open('readfile_name.txt' , 'r' )
    connect=f.read()
    print(connect)
finally:
      if f:
   	      f.close()

但每次这么写都太过繁杂,所以python引入了with语句来自助帮我们调用close()方法:

with open('readfile_name.txt' , 'r' ) as f:
print(f.read())

这和前面的 try…finally… 是一样的,但代码更加简洁,并且不必调用f.close()方法

调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。因此,要根据需要决定怎么调用。

如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:

for line in f.readlines():
	print(line)

二、文件写入

步骤:打开→写入→(保存)关闭
直接写入是不行的,因为默认打开是‘r’只读模式

代码:


file = open('write.txt', 'w')
file.write('hello world')
f.close()

你可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险:


with  open('write.txt', 'w')as f:
   f.write('Hello Word!')

>细心的学习者会发现,以‘w’模式写文件时,如果文件已存在,会直接覆盖(相当于删掉后从重写)。如果想要追加到文件末尾可以尝试这种方法传入‘a'以追加(append)模式写入

python读写文件的方式常用的有以下几种

r : 以只读的方式打开文件,文件的描述符放在文件的开头
rb : 以二进制格式打开一个文件用于只读,文件的描述符放在文件的开头
r+ :打开一个文件用于读写,文件的描述符放在文件的开头
w :打开一个文件只用于写入,如果该文件已经存在会覆盖,如果不存在则创建新文件
wb :打开一个文件值用于写入二进制,如果该文件已经存在会覆盖,如果不存在则创建新文件
w+ :打开一个文件用于读写
a :打开一个文件用于追加,如果文件存在,文件描述符将会放到文件末尾

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值