Python - 将变量从子例程传递到主程序

时间:2014-03-13 16:43:51

标签: python-3.x

我想调用一个子程序来收集数据。这是一个循环。所以每次迭代我都想写一个excel文件。我可以将子程序复制到主程序中,但想要一种更干净的方法来执行此操作。我有这样的事情:

#This creates my path and file name to open later
path = os.getcwd()
filetime = time.strftime("_%Y_%H_%M_%S", time.localtime()) 
fname = 'Test'
fext = '.csv'
fpath = path + '/' + fname + filetime + fext


#start of loop
for val1 in range(5):
    for val in range(6):
        #write some register with val1
        #write some register with val2
        subprocess.call("test.py", shell=True)
        #this subprosses does something that spits out data for 8 variables a through h

        #I would like to write that data into the path and file I created above
        data=open(fpath, 'a')
        #data.write('%.2f\n' % (cl))
        data.write('%i,%i,%i,%.2f,%.2f,%.2f,%.2f,%.2f\n' % (a,b,c,d,e,f,g,h))
        data.close()

现在我已经编写了数据,想要遍历循环的所有迭代并将数据附加到文件中

1 个答案:

答案 0 :(得分:0)

我可以将它整合到主程序中。已经完成并且它工作正常。但是,子程序中有很多行代码。更重要的是,我想为这个简单的高级别exec调用其他子进程。甚至在主exec中有一些简单的逻辑来调用可能潜在传递数据的其他几个子例程。在我看来,通过制作一个高级exec而不是查看10k行代码来在主程序中调试,可以简化这一过程。这样我就可以单独调试每个子程序。每个人都有自己的代码风格。也许这不是传统的做法,但想知道是否可以做到。