python基础(9):文件处理
很多软件都会有有对文件处理的功能。今天我们就来学习文件处理。
文件处理
打开文件时,需要指定文件路径和以何等方式打开文件,打开后,可以将结果赋值给一个变量,这个变量我们称为句柄。这样我们就可以通过这个句柄对此文件进行操作。使用后关闭。
# f=open('文件路径','打开方式',encoding='字符编码') #f为文件句柄
# print('+++++>1',f.read()) #输出全部
# print(type(data))
# print('+++++>2',f.read()) #空
# print('+++++>3',f.read()) #空
# f.close() #文件关闭
# print(f) #可用
# f.read() #不可用
# del f #仅删除f句柄
回收资源
1 f.close():一定要做,关闭操作系统打开的文件,即回收操作系统的资源
2 del f:没必要做,因为在python程序运行完毕后,会自动清理与该程序有关的所有内存空间
文件打开模式
打开文件的模式有:
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
#文本文件:只读模式,文件不存在报错
f=open('aaaa.py','r')
print(f.read()) #读所有
print(f.readline(),end='') #读行
print(f.readlines()) #读所有将每行放到数组中
print(f.readable()) #判断是否可读
print(f.writable()) #False
f.close() #关闭
w,只写模式【不可读;不存在则创建;存在则清空内容】
#文本文件:只写模式,文件不存在则创建空文件,文件存在则清空
f=open('new.txt','w')
f.write('1111111\n') #写入
f.writelines(['22222\n','3333\n','444444\n']) #写入三行
print(f.writable()) #判断是否可写入
f.close()
a, 追加模式【可读; 不存在则创建;存在则只追加内容】
#文本文件:只追加写模式,文件不存在则创建,文件存在可追加内容
# f=open('new_2','a',encoding='utf-8')
# print(f.readable()) #False
# print(f.writable()) #True # f.write('33333\n')
# f.write('44444\n')
# f.writelines(['5555\n','6666\n']) # f.close()
"+" 表示可以同时读写某个文件
r+, 读写【可读,可写】
#可写可读 打开文件的时候文件就为空,写的是任意内容,读的是刚刚写进去的内容
#要想读,先移动光标
#读的光标和写的光标是两回事
f = open('复习.py','w+',encoding='utf-8')
f.write('12237yuiayi')
#seek 制定光标的位置在0位置
f.seek(0)
print(f.read(3))
f.write('kahkshldkhd')
print('***',f.read())
f.close()
w+,写读【可读,可写】
#可读可写
f = open('复习.py','r+',encoding='utf-8')
print(f.read())
f.write('\najshdjkdjk')
f.close()
a+, 写读【可读,可写】
#追加可读
f = open('复习2.py','a+',encoding='utf-8')
f.seek(0)
print(f.read())
"b"表示以字节的方式操作
rb
#rb
f=open('aaaa.py','rb')
print(f.read().decode('utf-8')) f=open('1.jpg','rb')
data=f.read()
wb
#wb
f=open('2.jpg','wb')
f.write(data)
f=open('new_3.txt','wb')
f.write('aaaaa\n'.encode('utf-8'))
ab
#ab
f=open('new_3.txt','ab')
f.write('aaaaa\n'.encode('utf-8'))
此方式的操作可以对一些非字节文件做操作比如说图片,视频等任意文件。
文件的光标移动
read(3):
1. 文件打开方式为文本模式时,代表读取3个字符
2. 文件打开方式为b模式时,代表读取3个字节
用只读方式和只写方式打开文件光标都在首,追写方式打开在尾。想要自己移动光标只能借助seek(光标位置)方法实现
上下文管理
#上下文管理
with open('aaaa.py','r',encoding='utf-8') as read_f,\
open('aaaa_new.py','w',encoding='utf-8') as write_f:
#一行太长可以用\来将一行分成两行或多行但本质还是一行
data=read_f.read()
write_f.write(data) #不需要关闭(即不用close)此格式会自动关闭
#with open() as 句柄,open() as 句柄 : #可以一次打开多个
# 对文件的操作
循环每一行
with open('a.txt','r',encoding='utf-8') as f:
while True:
line=f.readline()
if not line:break
print(line,end='')
lines=f.readlines() #只适用于小文件
print(lines)
data=f.read()
print(type(data))
for line in f: #推荐使用
print(line,end='')
文件的修改
#方式一:只适用于小文件
import os #导入os模块
with open('a.txt','r',encoding='utf-8') as read_f,\
open('a.txt.swap','w',encoding='utf-8') as write_f:
data=read_f.read()
write_f.write(data.replace('alex_SB','alex_BSB')) os.remove('a.txt') #移除
os.rename('a.txt.swap','a.txt') #重命名 #方式二:
import os
with open('a.txt','r',encoding='utf-8') as read_f,\
open('a.txt.swap','w',encoding='utf-8') as write_f:
for line in read_f:
write_f.write(line.replace('alex_BSB','BB_alex_SB')) os.remove('a.txt')
os.rename('a.txt.swap','a.txt') #OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作。
python基础(9):文件处理的更多相关文章
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
- 第二篇:python基础之文件读写
python基础之文件读写 python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使 ...
- 七. Python基础(7)--文件的读写
七. Python基础(7)--文件的读写 1 ● 文件读取的知识补充 f = open('file', encoding = 'utf-8') content1 = f.read() content ...
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- Python基础_文件的的处理及异常处理
今天主要讲讲文件读写及异常处理. 一.文件操作 1.1 文件的创建及读 打开文件 open 函数 open(file,[option]) file 是要打开的文件 option是可选择的参数文件的打 ...
- 【穿插】Python基础之文件、文件夹的创建,对上一期代码进行优化
在上一期妹子图的爬虫教程中,我们将图片都保存在了代码当前目录下,这样并不便于浏览,我们应该将同一个模特的图片都放在一个文件夹中. 今天我们就简单讲一下Python下如何创建文件.文件夹,今后就可以用上 ...
- python基础之文件处理
读和写文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...
- Python基础、文件处理
一.概述 Python中操作文件是通过file对象来处理的,步骤: 指定文件的路径.操作的模式 对文件进行操作,读或写操作 关闭文件对象 f = open( '文件路径','访问模式') # 打开文件 ...
- python基础4文件操作
在磁盘上读取文件的 功能都是由操作系统来实现的,不允许普通的程序直接操作磁盘,所以读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据( ...
- Python基础之文件处理、函数、内置函数 (三)
内置函数 一 详细见python文档,请点击 文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') 注:python中打开 ...
随机推荐
- [github项目]基于百度地图二次开发实现的车辆监管(包含车辆定位、车辆图片和方向控制,电子围栏,图形绘制等功能)前端实现(不包含后端实现)
前言:基于百度地图javascript版本开发,百度地图中所用的key已承诺仅用于测试,不用于商业用途 注:本文所有代码可以到github上进行下载,github地址:http://map.eguid ...
- Angularjs1.2版本与1.3版本中控制器的问题
写写今天用ng遇到的一个问题吧.因为刚学习就学视频里面写例子,视频里用的是ng1.2.10版本,我用的是1.5.0. 刚开始的时候我按照ng视频的里面的写,但是控制器就是不能绑定好,后来和同学讨论加搜 ...
- 静态库 .a 转成共享库 .so
.a 是有一系列 .o 文件通过 ar 程序打包在一起的静态库,要把它转成动态库只需先解开,生成一堆 .o 文件,再通过编译器(比如 gcc 或 ifort,视具体情况而定)编成动态库即可. ar - ...
- 使用 Python 进行并发编程 -- asyncio (未完)
参考地址 参考地址 参考地址 Python 2 时代, 高性能的网络编程主要是使用 Twisted, Tornado, Gevent 这三个库. 但是他们的异步代码相互之间不兼容越不能移植. asyn ...
- GitHub:多人协作下的分支处理
GitHub上的团队协作 远程信息 git remote:查看远程库的信息 git remote -v:查看远程库的详细信息 推送分支 git push origin 要推送的分支:比如git pus ...
- PHP扩展开发-1
开发环境信息 1.基本环境信息如下: [root@localhost lib]# cat /etc/os-release NAME="CentOS Linux" VERSION=& ...
- C++ inline函数与编译器设置
1. 经过测试#define与inline的速度几乎没有区别. 2. inline函数更为安全,有效避免了#define二义性问题.inline是真正的函数,而#define只是在字符串意义上的宏替换 ...
- C语言之复杂链表的复制(图示详解)
什么是复杂链表? 复杂链表指的是一个链表有若干个结点,每个结点有一个数据域用于存放数据,还有两个指针域,其中一个指向下一个节点,还有一个随机指向当前复杂链表中的任意一个节点或者是一个空结点.今天我们要 ...
- 简单svg动画实现
一.将svg嵌入到html中 svg是指可伸缩矢量图形,它使用XML格式定义图像.在html中可以使用<svg>标签直接嵌入svg代码,例如: <svg version=" ...
- 入门Android开发
一个工作1年多一点的前端狗,由于公司需要,开始接触Android,也是第一次写博客,以后学到的技术每天都会写篇博客,让我们一起进步. Android 系统开发应用程序,为我们提供了哪些东西. 一.四大 ...