文章目录

  • 写在前面
  • 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)操作汇总相关推荐

  1. Python 文件读写操作-Python零基础入门教程

    目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...

  2. python 文件读写操作总结

    python 文件读写操作总结 1.打开文件 open函数是python的内置函数,返回一个 file 对象 定义如下: open(file, mode='r', buffering=-1, enco ...

  3. Python 文件(File) fileno() 方法

    和其它编程语言一样,Python 也具有操作文件(I/O)的能力,比如打开文件.读取和追加数据.插入和删除数据.关闭文件.删除文件等.本文主要介绍Python 文件(File) fileno() 方法 ...

  4. Python 文件 IO 操作详解

    Python 文件 IO 操作详解 1.文件 IO 常用操作 2.文件打开操作 2.1 打开命令 2.2 命令参数 2.2.1 路径 2.2.2 mode 2.2.3 buffering 缓冲区 2. ...

  5. 下列不是python对文件的读操作方法_以下选项不是Python文件读操作

    以下选项不是Python文件读操作 答:readtext() Z检验可以用于单个率的检验. 答:对 中国大学MOOC: 在正常膝关节,胫骨围绕股骨从完全屈曲到完全伸直,沿股骨内侧髁的运动曲线是 答:先 ...

  6. 下列不是python对文件的读操作方法_以下选项不是Python文件读操作的是.

    以下选项不是Python文件读操作的是. 答:readtext() 沟通结束以后一定要 答:形成一个共同的协议 针对地下水的研究主要对象是饱和带内的地下水.() 答:√ 下列不是抗日民主根据地出版的报 ...

  7. python文件读取操作练习题(统计单词)

    python文件读取操作练习题(统计单词) 学习路线:python的文件读取基础入门(read(),readlines(),with.open()) ->python文件读取操作练习题(统计单词 ...

  8. python 文件的操作

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

  9. python读文件写文件-python 文件读写操作

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

最新文章

  1. 【Web安全】php://filter 的浅略底层分析
  2. 转载 程序员上帝视角解读“旅行青蛙”,你的呱真的在旅行嘛? (手机游戏)...
  3. html table导出到Excel中,不走后台,js完成
  4. iphone开发之私有库private frameworks
  5. Vim 激荡 30 年发展史
  6. 数据库 chapter 10 数据库恢复技术
  7. 解决串口数据接收,实际值FF,接收却是FFFFFFFF
  8. windows自带黑体_window自带字体
  9. 计算机网络 考研教材,【计算机考研】2020计算机考研:参考书及复习重点
  10. CDA LEVEL I分数占比解读,看懂这些,考试更容易拿分
  11. RGMII通信接口详述
  12. windows 2008 r2 kb4512486 安装失败解决方法
  13. 软件设计第一步——分离关注点和单一职责原则
  14. vue条形码生成插件vue-barcode
  15. 使用HC05蓝牙模块实现数据无线传输,看完包会
  16. scikit-learn学习之K-means聚类算法与 Mini Batch K-Means算法
  17. Python gevent学习笔记-2
  18. 李彦宏:我不是传奇(网络转载)
  19. github官网无法进入的问题
  20. SLCP验厂辅导,SLCP数据收集和验证工具整合成在线格式的托管平台来完成

热门文章

  1. 1.设计一个敏感词过滤程序
  2. 暴力搜索算法浅显易懂
  3. 按键精灵调试三天,气到吐血!!快速开发脚本代码常见错误!绝对干货!
  4. 手机工商银行怎么转账_工商银行手机银行怎么转账
  5. cocos2dx3.3在Win7(64位)上Android开发环境搭建(提要)
  6. 卡特尔16中人格分析,测试题,答案,以及解析
  7. c#语言怎么定义函数,C#方法方法用法 _C#语言-w3school教程
  8. c语言随机生成5到10,C语言生成随机数
  9. 什么是边缘计算?它是怎样火起来的?终于有人讲明白了
  10. EMQX 入门教程——导读