浅谈python中的文件操作

对于文件的操作在python中占有相当大的分量,今天我们就从新人的角度来看看python中一些简单的文件操作。python中文件操作一共有六种常用模式,分别是‘r’,‘w’,‘a’,‘r+’,‘w+’,‘a+’。

首先,我们先创建一个文件‘file2’,并将如下内容写进文件:

一张褪色的照片,
好像带给我一点点怀念。
巷尾老爷爷卖的热汤面,
味道弥漫过旧旧的后院;
流浪猫睡熟在摇晃秋千,
夕阳照了一遍他咪着眼;
那张同桌寄的明信片,
安静的躺在课桌的里面。

现在,我们开始对文件‘file2进行操作’

1.打开并读取文件

with open ('file2','r',encoding='utf-8') as f:  #用只读模式打开文件file2
    data=f.read()    #将变量data指定读取操作
    print(data)      #打印变量
f.colse() #关闭文件

得到的结果是:

一张褪色的照片,
好像带给我一点点怀念。
巷尾老爷爷卖的热汤面,
味道弥漫过旧旧的后院;
流浪猫睡熟在摇晃秋千,
夕阳照了一遍他咪着眼;
那张同桌寄的明信片,
安静的躺在课桌的里面。

Process finished with exit code 0

可是,有时候我们并不需要将文件的全部内容都进行读取,这时,我们需要对文件内容进行制定操作。

*读取一行

with open ('file2','r',encoding='utf-8') as f:  #用只读模式打开文件file2
    data=f.readline()    #将变量data指定读取操作
    print(data)      #打印变量
    f.colse()        #关闭文件

得到的结果是:

一张褪色的照片,


Process finished with exit code 0

*将文件内容以列表的方式进行读取

with open ('file2','r',encoding='utf-8') as f:  #用只读模式打开文件file2
    data=f.readlines()    #将变量data指定读取操作
    print(data)      #打印变量
    f.colse()        #关闭文件

得到的结果是:

C:\Users\Administrator\PycharmProjects\untitled4\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/untitled4/Hello_world/文件读取.py
['一张褪色的照片,\n', '好像带给我一点点怀念。\n', '巷尾老爷爷卖的热汤面,\n', '味道弥漫过旧旧的后院;\n', '流浪猫睡熟在摇晃秋千,\n', '夕阳照了一遍他咪着眼;\n', '那张同桌寄的明信片,\n', '安静的躺在课桌的里面。']

Process finished with exit code 0

*将内容按字符串的形式输入:

with open ('file2','r',encoding='utf-8') as f:  #用只读模式打开文件file2
    for line in f.readlines():
        print(line)

得到的结果是:

一张褪色的照片,

好像带给我一点点怀念。

巷尾老爷爷卖的热汤面,

味道弥漫过旧旧的后院;

流浪猫睡熟在摇晃秋千,

夕阳照了一遍他咪着眼;

那张同桌寄的明信片,

安静的躺在课桌的里面。

Process finished with exit code 0

*指定读取内容行数:

with open ('file2','r',encoding='utf-8') as f:  #用只读模式打开文件file2
    for i in range(5):         #读取前五行内容
        print(f.readline().strip())  #打印内容

得到的结果是:

一张褪色的照片,
好像带给我一点点怀念。
巷尾老爷爷卖的热汤面,
味道弥漫过旧旧的后院;
流浪猫睡熟在摇晃秋千,

Process finished with exit code 0

2.写入文件

在‘W’模式下需要注意的是:a.如果本身没有这个文件存在,将新建改文件;b.如果文件存在并有内容,文件将被情况重写。

*写入内容:

with open ('file2','w',encoding='utf-8') as f:  #用写入模式打开文件file2
    data=f.write('我爱北京天安门,\n天安门前太阳升')  #写入内容
    print(data)   #打印写入的字符数,而非内容

3.增加内容

在'a'模式下,会对原文件的最后进行写入内容,但不会清空原内容。

 

posted @ 2018-01-20 11:07  颜不胖  阅读(811)  评论(0编辑  收藏  举报