Python——文件(File)操作汇总
文章目录
- 写在前面
- 1. Python文件的打开、读写、关闭
- 1.1 第一步:打开文件——open()
- 1.2 第二步:从文件中读取/写入数据
- 1.2.1 读数据
- 1.2.1.1 read()
- 1.2.1.2 readlines()
- 1.2.1.3 readline()
- 1.2.2 写数据
- 1.3 关闭文件
- 1.4 小结对文件操作的模式
- 1.5 改变文件指针——seek()函数
- 1.6 文件名字符串的一些注意事项
- 2. Python文件与文件夹操作(os包)
- 2.1 文件自身操作
- 2.1.1 文件重命名
- 2.1.2 删除文件
- 2.2 文件夹相关操作
- 2.2.1 创建文件夹
- 2.2.2 删除文件夹
- 2.2.3 获取当前目录路径
- 2.2.4 改变默认目录
- 2.2.5 获取目录列表
- 2.2.6 文件夹重命名
- 3. 图像读取
- 3.1 scikit-image
- 3.2 PIL库(PILLOW) & imageio
写在前面
本博客分享在python中,文件的基本操作,如果读者对操作系统有了解,那会对文件操作有更加深刻的理解,但是本篇博客尽量避开操作系统的知识
我把本博客分成三个大部分:
①python文件的读写,主要是关于.txt格式的文件
②imageio,skimage.io,PIL,主要是关于图像的读写
③os包的一些读写操作
上述三个大部分是我在读别人写的代码时经常看到的,在这里总结总结。
1. Python文件的打开、读写、关闭
先介绍常用的函数和方法,最后总结一下对文件的操作模式。
1.1 第一步:打开文件——open()
f = open(name,mode) # return a Stream object f
该函数返回一个数据流对象对于对该文件进行读写操作
name:是要打开的目标文件名的字符串(可以包含文件所在的具体路路径)。
mode:设置打开⽂件的模式(访问模式):只读、写入、追加等
1.2 第二步:从文件中读取/写入数据
1.2.1 读数据
1.2.1.1 read()
- 多用来读取文件的全部数据
流对象.read(num)
num表示要从⽂件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据
1.2.1.2 readlines()
- readlines可以按照⾏的⽅式把整个⽂件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素
- 如果文件中有换行符,则一并读取出来
f = open('test.txt')
content = f.readlines()print(content) # ['hello world\n', 'abcdefg\n', 'aaa\n', 'bbb\n', 'ccc']
# 关闭⽂文件 f.close()
1.2.1.3 readline()
- 一次读取一行内容。函数每运行一次,文件指针移到下一行为下次读取作准备
f = open('test.txt')
content = f.readline()
print(f'第⼀行:{content}')
content = f.readline()
print(f'第⼆行:{content}')
# 关闭⽂文件
f.close()
1.2.2 写数据
- 向文件中写入数据
- 注意事项:每次写入都要覆盖掉之前的内容;若要写入的文件不存在,则新建文件
文件对象.write('内容')
- 示例
# 1. 打开⽂文件
f = open('test.txt', 'w')
# 2.⽂文件写⼊入
f.write('hello world')
# 3. 关闭⽂文件
f.close()
1.3 关闭文件
- 关闭文件,释放掉内存
文件对象.close()
1.4 小结对文件操作的模式
下面总结一下函数open(name,mode)中参数mode的种类
- 所有以 r 开头的,如果文件不存在,则报错,不会新建文件;文件指针都会放在文件的开头;
- 所有以 w 开头的,如果文件不存在,则自动创建;文件指针都会放在文件的开头;每次执行该函数时会覆盖掉源文件
- 所有以 a 开头的,如果文件不存在,则自动创建;文件指针会放在文件的末尾用于附加数据,不会覆盖数据
1.5 改变文件指针——seek()函数
- 改变文件的指针,方便更加灵活的读取操作
⽂件对象.seek(偏移量量, 起始位置)
偏移量:移动的步长
起始位置:
0:文件开头
1:当前位置
2:文件结尾
1.6 文件名字符串的一些注意事项
" / “左倾斜是正斜杠,” \ "右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows一般用反斜杠,具体如下:
2. Python文件与文件夹操作(os包)
在Python中文件和文件夹的操作要借助os模块里面的相关功能,为什么是os模块,因为操作系统管理着文件系统,文件系统管理着文件(Python3.6以下常用,3.6之后使用pathlib.Path多一点)
2.1 文件自身操作
2.1.1 文件重命名
import os # 这里导入一次,往后就不再导入了!
os.rename(src,dst)
src:文件当前的路径
dst:要修改成什么样
2.1.2 删除文件
- 可能会出现要删除的文件找不到的错误
os.remove(src)
2.2 文件夹相关操作
2.2.1 创建文件夹
- 当文件夹已存在时,再去创建同名的文件夹会出错
import os
os.mkdir(src)
2.2.2 删除文件夹
import os
os.rmdir(src)
2.2.3 获取当前目录路径
- getcwd为 get current work directory,表示获取当前工作路径
os.getcwd()
2.2.4 改变默认目录
- 切换当前路径到指定路径,用处不大。比如说你现在文件的路径时a,你需要跑到b路径去操作一些东西,需要用到这个函数
os.chdir()
- 示例
import os
os.getcwd() # a路径os.chdir('b路径')os.getcwd() # b路径
2.2.5 获取目录列表
- 获取当前文件所处的文件夹下的所有文件,以列表形式返回
os.listdir()
2.2.6 文件夹重命名
- 还是os.rename()
os.rename(src,dst)
3. 图像读取
3.1 scikit-image
from skimage import ioimg = io.imread('testimg.tif')import numpy as npdata=np.random.random([100,100])io.imsave('rand_data.tif',np.float32(data))
3.2 PIL库(PILLOW) & imageio
import numpy as np
import imageio
from PIL import Image #PIL pakage name is Pillow img=imageio.imread(r'G:\leopard.jpg')
high,width,ichannel=img.shape
print(type(img))
print(img.shape)
imageio.imwrite(r'G:\leopard_i1.jpg',img)
imageio.imwrite(r'G:\leopard_i2.jpg',np.float32(img/10)) # automatic brightness adjust
imageio.imwrite(r'G:\leopard_i3.jpg',np.uint8(img/10))im = Image.open(r'G:\leopard.jpg')
print(type(im))
in_data = np.asarray(im, dtype=np.uint8)
print(type(in_data))
print(in_data.shape) new_im = Image.fromarray(in_data) # np.uint8, or TypeError: Cannot handle this data type# new_im.show()
new_im.save(r'G:\leopard_p1.jpg')
Python——文件(File)操作汇总相关推荐
- Python 文件读写操作-Python零基础入门教程
目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...
- python 文件读写操作总结
python 文件读写操作总结 1.打开文件 open函数是python的内置函数,返回一个 file 对象 定义如下: open(file, mode='r', buffering=-1, enco ...
- Python 文件(File) fileno() 方法
和其它编程语言一样,Python 也具有操作文件(I/O)的能力,比如打开文件.读取和追加数据.插入和删除数据.关闭文件.删除文件等.本文主要介绍Python 文件(File) fileno() 方法 ...
- Python 文件 IO 操作详解
Python 文件 IO 操作详解 1.文件 IO 常用操作 2.文件打开操作 2.1 打开命令 2.2 命令参数 2.2.1 路径 2.2.2 mode 2.2.3 buffering 缓冲区 2. ...
- 下列不是python对文件的读操作方法_以下选项不是Python文件读操作
以下选项不是Python文件读操作 答:readtext() Z检验可以用于单个率的检验. 答:对 中国大学MOOC: 在正常膝关节,胫骨围绕股骨从完全屈曲到完全伸直,沿股骨内侧髁的运动曲线是 答:先 ...
- 下列不是python对文件的读操作方法_以下选项不是Python文件读操作的是.
以下选项不是Python文件读操作的是. 答:readtext() 沟通结束以后一定要 答:形成一个共同的协议 针对地下水的研究主要对象是饱和带内的地下水.() 答:√ 下列不是抗日民主根据地出版的报 ...
- python文件读取操作练习题(统计单词)
python文件读取操作练习题(统计单词) 学习路线:python的文件读取基础入门(read(),readlines(),with.open()) ->python文件读取操作练习题(统计单词 ...
- python 文件的操作
python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...
- python读文件写文件-python 文件读写操作
读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...
最新文章
- 【Web安全】php://filter 的浅略底层分析
- 转载 程序员上帝视角解读“旅行青蛙”,你的呱真的在旅行嘛? (手机游戏)...
- html table导出到Excel中,不走后台,js完成
- iphone开发之私有库private frameworks
- Vim 激荡 30 年发展史
- 数据库 chapter 10 数据库恢复技术
- 解决串口数据接收,实际值FF,接收却是FFFFFFFF
- windows自带黑体_window自带字体
- 计算机网络 考研教材,【计算机考研】2020计算机考研:参考书及复习重点
- CDA LEVEL I分数占比解读,看懂这些,考试更容易拿分
- RGMII通信接口详述
- windows 2008 r2 kb4512486 安装失败解决方法
- 软件设计第一步——分离关注点和单一职责原则
- vue条形码生成插件vue-barcode
- 使用HC05蓝牙模块实现数据无线传输,看完包会
- scikit-learn学习之K-means聚类算法与 Mini Batch K-Means算法
- Python gevent学习笔记-2
- 李彦宏:我不是传奇(网络转载)
- github官网无法进入的问题
- SLCP验厂辅导,SLCP数据收集和验证工具整合成在线格式的托管平台来完成
热门文章
- 1.设计一个敏感词过滤程序
- 暴力搜索算法浅显易懂
- 按键精灵调试三天,气到吐血!!快速开发脚本代码常见错误!绝对干货!
- 手机工商银行怎么转账_工商银行手机银行怎么转账
- cocos2dx3.3在Win7(64位)上Android开发环境搭建(提要)
- 卡特尔16中人格分析,测试题,答案,以及解析
- c#语言怎么定义函数,C#方法方法用法 _C#语言-w3school教程
- c语言随机生成5到10,C语言生成随机数
- 什么是边缘计算?它是怎样火起来的?终于有人讲明白了
- EMQX 入门教程——导读