对于文件的操作在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‘模式下,会对原文件的最后进行写入内容,但不会清空原内容。