2014-03-13 184 views
-1

我想调用一个子程序来收集数据。这是一个循环。因此,我想写入一个excel文件的每个迭代。我可以将子程序复制到主程序中,但想要更简洁的方法来执行此操作。我有这样的事情:Python - 将子程序变量传递给主程序

#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() 

现在,我已经写入的数据,想通过走循环的所有迭代,并追加数据到文件

+0

你为什么不把它整合到一个程序中?从python调用python进程是毫无意义的。 – Darek

+0

我不明白。你想看看“进口”? – User

回答

0

我可以将它集成到主程序。完成已经和它工作正常。但是,子程序中有许多代码行。更重要的是,我想为这个简单的高层管理人员调用其他子流程。即使在主exec中有一些简单的逻辑来调用其他几个可能传递数据的子例程。在我看来,这可以通过创建高级别的exec来简化,而不是在主程序中查看10k行代码来进行调试。这样我可以单独调试每个子程序。每个人都有自己的编码风格。也许这不是传统的做法,但想知道它是否可以完成。

相关问题