我有3组文件,每个文件位于不同的文件夹中,因此我无法将其CD到文件夹中,也无法在bash脚本中使用for循环扩展行。 我在bash中的最后一个脚本编写如下:
python test.py
在我的test.py脚本中:
for file in os.listdir(/path to folder1):
with open((/path to folder4+file+'.txt')), 'w') as w:
w.write #according to calculations calculated earlier in test.py from folder1
w.write #according to calculations calculated earlier in test.py from folder2
w.write #according to calculations calculated earlier in test.py from folder3
当我浏览第一个PDB文件(输出:PDB1.txt)时,它可以正确执行此操作,但是当第二个文件运行时,我得到PDB2.txt,但其中包含PDB1.txt的内容。这是一个问题吗,即使我说要遍历脚本中那些文件夹中的文件,我仍要进行某种方式的硬编码?
答案 0 :(得分:0)
答案:我没有使用return,而是将答案附加到列表中,然后遍历列表中的答案
def funtion1():
list1 = []
(do calculations)
return list1()
def main_function():
f1 = function1()
for file in os.listdir(/path to folder1):
with open((/path to folder4+file+'.txt')), 'w') as w:
for i in f1:
w.write(f1[i]) #according to calculations calculated earlier in test.py from folder1
因此,现在,当我遍历包含来自不同文件的多个计算的列表时,它不仅会返回相同的计算,而且还会正确读取每个计算。