【发布时间】:2021-06-09 12:50:27
【问题描述】:
我必须通过从文件夹中导入所有 .txt 文件来创建一堆 numpy 数组。这就是我现在的做法:
wil_davide_noIA_IST_nz300 = np.genfromtxt("%s/davide/wil_davide_noIA_IST_nz300.txt" %path)
wig_davide_multiBinBias_IST_nz300 = np.genfromtxt("%s/davide/wig_davide_multiBinBias_IST_nz300.txt" %path)
wig_davide_multiBinBias_PySSC_nz300 = np.genfromtxt("%s/davide/wig_davide_multiBinBias_PySSC_nz300.txt" %path)
wig_davide_noBias_PySSC_nz300 = np.genfromtxt("%s/davide/wig_davide_noBias_PySSC_nz300.txt" %path)
wig_davide_IST_nz300 = np.genfromtxt("%s/davide/wig_davide_IST_nz300.txt" %path)
wig_davide_noBias_IST_nz300 = np.genfromtxt("%s/davide/wig_davide_noBias_IST_nz300.txt" %path)
wig_davide_PySSC_nz300 = np.genfromtxt("%s/davide/wig_davide_PySSC_nz300.txt" %path)
...
来自文件夹
我能以某种方式自动化这个过程吗?请注意,我希望数组与导入的文件具有相同的名称(当然,没有 .txt)。
非常感谢
【问题讨论】:
-
虽然我不会推荐它,如果您可以使用
exec的文件或文件名存在任何安全问题,它会将字符串作为 python 代码执行。结合os.listdir函数,您可以将您的python 代码写在一个字符串中,然后执行它。之后变量可用。 -
为什么要自动化呢?一旦你开始使用许多类似的变量和名称,你就会被困在整个代码中使用它们。在 Python 中,您可以将类似的数组存储在列表或字典中。您不需要将每个分配给单独的变量。
-
@hpaulj 谢谢,你能解释一下吗?我知道字典的基本工作原理,但是在这种情况下你会如何使用字典呢?
标签: python arrays numpy import txt