python之文件

操作文件的函数/方法

在python中要操作文件需要记住的1个函数和3个方法
python中一切皆对象
open:打开文件,并且返回文件操作的对象
read:将文件内容读取到内存
write:将指定内容写入文件
close:关闭文件

open函数负责打开文件,并且返回文件对象

read/write/close三个方法都需要通过文件对象来调用
read方法–读取文件

open函数的第一个参数是要打开的文件名(文件名区分大小写)
如果文件存在,返回文件操作对象
如果文件不存在,会抛出异常

read方法可以一次性读入并返回文件的所有内容
close方法负责关闭文件

打开文件的方式:
name = open('文件名','访问方式')

#1.打开文件
file = open('README')
#2.操作文件 读/写
#read方法:读取文件内容(一次性返回文件所有内容)
text = file.read()
print text
#3.关闭文件
#close方法:负责关闭文件
file.close()
#在开发中,通常会先编写打开和关闭的代码

注意:因为要读取文件,所以需要在pycharm中建立一个普通文件README
这里写图片描述

文件指针:
  文件指针标记从哪个位置开始读取数据
  第一次打开文件时,通常文件指针会指向文件的开始位置
  当执行了read方法后,文件指针会移动到读取内容的末尾
file = open('README')
text = file.read()
print text
print  '*' * 50
#第一次读取的时候,文件指针移动到了文件的末尾
#再次调用不会读取到任何内容
text = file.read()
print text
file.close()

这里写图片描述

file = open('README')
text = file.read()
print text
#打印输入内容的长度
print len(text)
print type(text)
print '*' * 50
text = file.read()
print text
print len(text)
file.close()

这里写图片描述

以写的方式打开文件,如果文件存在会被覆盖,如果文件不存在,创建新文件
#打开文件
file = open('README','w')

#写入文件
file.write('westos')

#关闭文件
file.close()

这里写图片描述

以追加方式打开文件

如果该文件存在,文件指针会放在文件的末尾
如果文件不存在,创建文件并写入

#打开文件
file = open('README','a')
#写入文件
file.write('linux')
#关闭文件
file.close()

这里写图片描述

按行读取文件
   read方法默认会把文件的所有内容一次性读到内存
   如果文件太大,对内存的占用会非常严重
readline方法:
  readline方法可以一次性读取一行内容
  方法执行后,会把文件指针移动到下一行,准备再次读取
#读取大文件的正确姿势
file = open('README')
#为什么要写成死循环:因为我们不知道要读取的文件有多少行
while True:
    text = file.readline()
    #如果文件指针到文件的最后一行,那么就读不到内容了
    if not text:
        break
        #每读取一行,末尾都已经有一个\n
    print text
file.close()

这里写图片描述

复制文件
#1.打开文件
#源文件以只读的方式打开
file_read = open('README')
#目标文件以写的方式打开
file_write = open('READ_COPY','w')

#从源文件中读取内容
text = file_read.read()
#将读取到的内容写到目标文件中
file_write.write(text)
#关闭文件
file_read.close()
file_write.close()

这里写图片描述

复制大文件
#1.打开文件
#源文件以只读的方式打开
file_read = open('README')
#目标文件以写的方式打开
file_write = open('READ_COPY','w')

#从源文件中读取内容
while True:
    text = file_read.readline()
    #如果文件指针到文件的最后一行,那么就读不到内容了
    if not text:
        break
        #将读取到的内容写到目标文件中
    file_write.write(text)
#关闭文件
file_read.close()
file_write.close()
文件的另一种写法–关键字with

关键字with在不需要访问文件后将其关闭,在这个程序中,
我们调用了open(),但没有调用close();你也可以调用open()和close来打开
和关闭文件,但这样做时,如果程序存在bug,导致close()语句没有执行,
文件将不会关闭,未妥善地关闭文件可能会导致数据丢失或损失,

注意:

如果在程序中过早地调用close()
你会发现需要使用文件时它已经关闭(无法访问)
这会导致更多地错误,你并非在任何情况下都能轻松地确定关闭地恰当时机
通过使用with结构,可让python去确定,你只管打开文件,并在需要时使用它
python会在合适的时候自动将其关闭

读取文件
with open('pai_digits') as file_object:
    contents = file_object.read()
    print contents

这里写图片描述

读取的文件内容为

这里写图片描述
相当于之前的readline读取大文件

filename = 'pai_digits'
with open(filename) as file_object:
    for line in file_object:
        print line

这里写图片描述
以写的方式打开文件,如果文件存在会被覆盖,如果文件不存在,创建新文件

filename = 'linux'
with open(filename,'w') as file_object:
    file_object.write('i love linux.\n')
    file_object.write('i love python.')
 #此linux文件之前没有,刚新建出来

这里写图片描述
以追加方式打开文件
如果该文件存在,文件指针会放在文件的末尾
如果文件不存在,创建文件并写入

filename = 'linux'
with open(filename,'a') as file_object:
    file_object.write('i love linux.\n')
    file_object.write('i love python.')
   ##结果已追加如下图

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值