场景
通过python读取文件夹内全部的文件(全部为.npy格式),并将文件的名字作为变量名(如变量abc内存储文件abc.npy中的数据)
重要语句
exec() # 可将字符串中的内容当作语句来执行
os.path.splitext() # 将文件名和后缀分离
repr() # 可在执行字符串语句时保留‘’
实现
# 导入库
import numpy as np
import os
# 进入目标文件夹
os.chdir(r'...路径...')
file_list = os.listdir() # 列出所有文件名
for i in np.arange(len(file_list)):
# 将exec括号内的字符串当作语句来执行,repr()用于保留语句中的字符串
exec(os.path.splitext(file_list[i])[0]+'= np.load('+repr(file_list[i])+',allow_pickle=True).item()')
注:repr()和str()都可以将其他格式的数据转化成字符串,但是此处不能用str(),因为在exec()执行字符串语句时会将文件名判断成变量,将后缀判断成属性。repr()能够实现类似字符串“嵌套”的功能。