如何创建多个Python脚本并同时运行它们?

时间:2018-08-10 10:09:58

标签: python-3.x multiprocessing

我有一个Python脚本,当从各个方向暴露在风中时,该脚本用于查找结构(起重机吊臂)上的某些应力。这意味着它将创建360个文本文件,该结构面对的每个度数为1。我不想在单个内核上运行360个连续的循环,而是想将任务分解为10或20个进程。有没有一种方法可以修改以下代码,使其创建并运行多个具有不同度数范围的脚本,即一个脚本将执行0到20度的转换,下一个20到40度的转换,等等?

import math
import csv
boomDirection = 0
time = 0
maxStress = 650
with open("SomeWindAndHeadingStressMatrix.csv") as f:
    data = [row for row in csv.reader(f)]    

while boomDirection < 361:
    file = open("SomeWindSpeedSourceData.txt", 'r')
    data_file = open("Bolt Stress - " + str(boomDirection) + " Degrees.csv", 'w')
    line = file.readline()

    while line != '':
        try:
            if len(line.split(','))>1:                                      
                windSpeedHigh = int(int(line.split(',')[19])*1.32)
                windSpeedLow = int(int(line.split(',')[22])*1.32)
                windDirection = int(line.split(',')[14]) - boomDirection
                if windDirection < 0:
                    windDirection += 360
                stressHigh = float(data[windSpeedHigh][windDirection])
                stressLow = float(data[windSpeedLow][windDirection])
                if time % 10080 == 0:
                    data_file.write(str(time) + ', ' + str(maxStress) + ('\n'))
                    time += 0.5
                else:
                    data_file.write(str(time) + ', ' + str(round(stressHigh,1)) + ('\n'))
                    time += 0.5
                data_file.write(str(time) + ', ' + str(round(stressLow,1)) + ('\n'))
                time += 0.5                    
        except ValueError:
            pass
        line = file.readline()
    data_file.close()
    time = 0
    boomDirection = boomDirection + 1

0 个答案:

没有答案