python通过字符串执行语句(将文件读入变量,并用文件名作为变量名)

场景

通过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()能够实现类似字符串“嵌套”的功能。


版权声明:本文为weixin_39251985原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。