Python各种文件IO操作

Python各种文件IO操作

有段时间不打代码就会忘记各种文件的读取和存储,不如自己整理一个,忘了就来看下


图片

图片的读取

使用PIL

from PIL import Image
img = Image.open(img_path) 

可以非常方便得对img进行图像的各种变换
如果需要存成numpy数组,使用

import numpy as np
np_img = np.array(img)

使用matplotlib

import matplotlib.pyplot as plt
img = plt.imread(img_path)

得到的是numpy数组,也很方便

图片的保存

如果是PIL库的Image类,直接调用save()方法

from PIL import Image
img = Image.open(img_path)
img.save(save_path)

如果使用matplotlib库读取

plt.savefig(save_path)  

也可以参照下面保存为numpy数组


numpy

numpy数组的读取与存储使用

np.save(save_path, save_np)
np.load(load_path)

txt文件

打开

使用open打开

f = open(txt_path)
# processing file
f.close()

使用with则不需要调用close()方法

with open(txt_path) as f:
    # processing file

如果遇到报错

UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 439: illegal multibyte sequence

读取的时候加上编码设置

with open(txt_path, encoding='UTF-8') as f:
    # processing file

逐行读取

line = f.readline()
while line:
    print(line)

或者

lines = f.readlines()
for line in lines:
    print(line)

去除line中不想要的元素(例如,英文字母)

filter(lambda c: '' if c.isalpha() else c, line)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值