有点难以解释,但我使用的目录中有许多不同的文件,但基本上我想循环不规则间隔的文件
所以在伪代码中我想它会写成:
A = 1E4, 1E5, 5E5, 7E5, 1E6, 1.05E6, 1.1E6, 1.2E6, 1.5E6, 2E6
For A in range(start(A),end(A)):
inputdir ="../../../COMBI_Output/Noise Studies/[A] Macro Particles/10KT_[A]MP_IP1hoN0.0025/"
运行其余代码
因为目前我是通过更改[A]
中的值来手动完成的,这是一场噩梦和耗时。我在macbook上使用Python
所以我想知道在bash
内编写一个Python
脚本是否是正确的想法?
或者用文本文件替换A
,使其:
import numpy as np
mpnum=np.loadtxt("mp.txt")
for A in range(0,len(A)):
for B in range(0,len(A)):
inputdir ="../../../COMBI_Output/Noise Studies/",[A] "Macro Particles/10KT_",[A]"MP_IP1hoN0.0025/"
但是我先尝试过,但仍然没有运气。
答案 0 :(得分:1)
你快到了。您不需要范围,只需遍历列表即可。然后使用格式在字符串中进行替换。
A = ['1E4', '1E5', '5E5', '7E5', '1E6', '1.05E6', '1.1E6', '1.2E6', '1.5E6', '2E6']
for a in A:
inputdir = "../../../COMBI_Output/Noise Studies/{} Macro Particles/10KT_{}MP_IP1hoN0.0025/".format(a)
答案 1 :(得分:0)
将文件名放在列表中并使用简单地迭代它们的想法 对于A: 似乎是最好的主意。但是,如果可能的话,一个小建议,而不是列表,如果你要在这个列表中有大量的文件,为什么不把它作为字典呢?通过这种方式,您可以轻松地遍历文件并对其进行统计。