python中文件的打开、操作和关闭

时间:2019-02-17
本文章向大家介绍python中文件的打开、操作和关闭,主要包括python中文件的打开、操作和关闭使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

打开文件的步骤:打开==>操作==>关闭

1.文件的打开

f = open('/tmp/pass','r+')              ##括号里面第一个参数为要打开的文件,第二个参数代表要以什么样的权限去操作文件

##下面是第二个参数的权限
"""
r:(默认)
    -只能读,不能写
    -读取文件不存在,会报错
    
r+:
    -可读写
    -读取文件不存在,会报错
    
w:
    -write only
    -会清空文件之前的内容
    -文件不存在,不会报错,会创建新的文件并写入

w+:
    -rw
    -会清空文件内容
    -文件不存在,不报错,会创建新的文件
    
a:
    -write only
    -不会清空文件内容
    -文件不存在,不会报错,会创建新的文件并写入

a+:
    -rw
    -文件不存在不报错
    -不会清空文件内容

b:
    二进制
"""

如何看你打开的文件是都可读可写呢

print(f.readable())                    ##判断是否可读
print(f.writable())                    ##判断是否可写

2.文件的操作

1)读取文件的内容

content = f.read()                            ##会读取文件的所有内容,在一行输出
content = f.read(3)                           ##会读取文件的前3个 
print(f.readline())                           ##读取并输出文件的第一行
print(f.readlines())                          ##读取文件内容,返回一个列表,列表的元素分别为文件行的那内容

2)写入文件

f.write('hello')                     ##在文件的最后一行添加hello

3)指针位置

print(f.tell())

seek方法移动指针

seek第一个参数是偏移量:>0,代表向右移动,<0,代表向左移动
    seek第二个参数是:
        0:移动指针到文件开头
        1:不移动指针
        2:移动指针到末尾

f.seek(-1,2)                        ##表示向左移动两个单位

 4)非纯文本的操作

下面的操作是复制了一张图片

f1 = open('1111.jpg',mode='rb')
content = f1.read()
f1.close()

f2 = open('westos.jpg',mode='wb')
f2.write(content)
f2.close()

3.文件的关闭

f.close()                    ##文件打开就一定要关闭,否则会一直占用系统资源

4.with

上下文管理器:打开文件,执行完with语句内容之后,自动关闭文件对象

就像下面这个结构

#同时打开两个文件对象
with open('/tmp/passwd') as f1,\
    open('/tmp/passwdbackup','w+') as f2:
    #将第一个文件的内容写入到第二个文件中
    f2.write(f1.read())
    #移动指针到文件最开始
    f2.seek(0)
    #读取文件内容
    print(f2.read())

5.练习

创建文件data.txt,文件共100000行,每行存放一个1~100之间的整数,写完后读取文件内容

import random
f = open('date.txt','a+')
for i in range(100000):
    f.write(str(random.randint(1,100)) + '\n')

f.seek(0,0)
print(f.read())
f.close()

ok~