我编写了三个简单的脚本(由于它们是我的论文研究的一部分,所以我不会在此处发布),它们都处于正常工作状态。
我现在想为他们编写一个“批处理”脚本。我有许多(可能数以万计的数据)要让这些脚本执行的数据文件。
我对此过程的疑问如下:
做这种事情的最有效方法是什么?
我是编程新手。有没有简单的方法可以做到这一点,或者这是一项非常复杂的工作?
在有人将这个问题否定为“未经研究”或任何负面含义之前,请先提供帮助。我花了几天的时间阅读文档并关注Google搜索带来的潜在客户,如果人类可以提供一些建议,我们将不胜感激。
python大神给出的解决方案
如果您只需要运行脚本,那么最简单的方法就是shell脚本。
如果要保留在Python中,最好的方法是在每个脚本中都有一个main()
(或类似的功能)(并可以导入每个脚本),让批处理脚本导入下标,然后运行其main
。
如果使用Python:
-您的三个脚本必须以.py
结尾才能导入
-它们应该位于Python的搜索路径中,或者批处理控制脚本可以设置路径
-它们每个都应具有将激活该脚本的main
函数(或您选择的任何名称)
例如:
batch_script
import sys
sys.path.insert(0, '/location/of/subscripts')
import first_script
import second_script
import third_script
first_script.main('/location/of/files')
second_script.main('/location/of/files')
third_script.main('/location/of/files')
示例子脚本
import os
import sys
import some_other_stuff
SOMETHING_IMPORTANT = 'a value'
def do_frobber(a_file):
...
def main(path_to_files):
all_files = os.listdir(path_to_files)
for file in all_files:
do_frobber(os.path.join(path_to_files, file)
if __name__ == '__main__':
main(sys.argv[1])
这样,您的下标可以单独运行,也可以从主脚本中调用。