我正在寻找一个导出 Numpy 数组的函数,但使用函数输入的变量名称作为导出文件的名称。像这样的东西:
MyArray = [some numbers]
def export(Varb):
return np.savetxt("%s.dat" %Varb.name, Varb)
export(MyArray)
这将输出一个名为“MyArray.dat”的文件,其中填充了[一些数字]。我不知道如何执行“Varb.name”位。有什么建议吗?
我是 Python 和编程新手,所以我希望有一些简单的东西我错过了! 谢谢。
最佳答案
我不推荐这样的代码风格,但你可以这样做:
import copy
myarray = range(4)
for k, v in iter(copy.copy(locals()).items()):
if myarray == v:
print k
这给出了 myarray
作为输出。要在对导出有用的函数中执行此操作,请使用:
import copy
def export_with_name(arg):
""" Export variable's string representation with it's name as filename """
for k, v in iter(copy.copy(globals()).items()):
if arg == v:
with open(k, 'w') as handle:
handle.writelines(repr(arg))
locals()
和 globals()
都给出将变量名作为键、将变量值作为值的字典。
按以下方式使用该函数:
some_data = list(range(4))
export_with_name(some_data)
给出一个名为some_data
的文件
[0, 1, 2, 3]
作为内容。
经过测试并与 Python 2.7 和 3.3 兼容
关于python - 导出函数,以输入变量命名导出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27334623/