Python Скрипт - модуль, main_function и package_runner содержат ошибку - PullRequest
0 голосов
/ 28 мая 2020

У меня есть скрипт, который раньше работал на старом сервере. Это было как бы брошено на меня, так что простите меня за отсутствие python знаний. Я изучил множество других языков и несколько дней устранял неполадки!

Я обновил пути соответствующим образом, но при запуске с новой ошибкой всегда получаю следующие ошибки: Ошибки Powershell с номерами строк

На изображении указаны номера строк 241, 117 и 140. Код следующий:

def main_function(todayDate):
zipFileName = ''

print todayDate
for root, dirname, files in os.walk(workingDir, topdown=True):
    del dirname[:]
    for file in files:
        if file.startswith('datawarehousefeed_' + currentDwfVersion) or file.startswith('datawarehousefeed_' + currentDwfVersionBackfill):
            if file.endswith('11692.zip'):
                if (file.__contains__('BACKFILL_') and file.split('_')[4] == todayDate) or (file.__contains__(todayDate) and 'BACKFILL_' not in file):
                    zipFileName = workingDir + '\\' + file
                    print zipFileName

                    if not os.path.exists(archiveDir):
                        os.mkdir(archiveDir)

                    if os.path.exists(processingDir):
                        shutil.rmtree(processingDir)
                    os.mkdir(processingDir)

                    if os.path.exists(finalDir):
                        shutil.rmtree(finalDir)
                    os.mkdir(finalDir)

                    with zipfile.ZipFile(zipFileName, 'r') as zf:
                        zf.extractall(processingDir)

                    for root, dirname, files in os.walk(processingDir):
                        for file in files:
                            if not (file.startswith('qmresult')):
                                 if not (file.startswith('rolepermission')):
                                      if file:
                                           if file:
                                              tableName = file[:file.find('_')]
                                              with open((processingDir + '\\' + file), 'rb') as read:
                                                  reader = csv.reader((line.replace('\0','') for line in read))
                                                  #reader = csv.reader(read)
                                                  with open((finalDir + '\\' + tableName + '.csv'), 'wb') as write:
                                                      writer = csv.writer(write, delimiter=',', quotechar="\"", lineterminator='\n')
                                                      for row in reader:
                                                          rowFixed = []
                                                          for column in row:
                                                              fixedColumn = string.replace(column, "\"", "\'\'")
                                                              fixedColumn2 = string.replace(fixedColumn, '\n', ' ')
                                                              rowFixed.append(fixedColumn2)
                                                          writer.writerow(rowFixed)
                                                      read.close
                                                      write.close
                    package_runner(zipFileName)
def package_runner(zipFileName):
try:
    retcode = subprocess.call(r'dtexec /f "FILE PATH HERE"', shell=True)
    if retcode > 0:
        print >>sys.stderr, "Child was terminated by signal", -retcode
        sendEmail("ssis failure", (zipFileName + " " + "DWF_1_A_ClaimAudit.dtsx" + " " + str(retcode)))
        print (10/0)
    else:
        print >>sys.stderr, "Child returned", retcode
except OSError as e:
    print >>sys.stderr, "Execution failed:", e
    sendEmail("ssis failure", (zipFileName + " " + "DWF_1_A_ClaimAudit.dtsx" + " " +  e))
    sys.exit("error, exiting")

for single_date in daterange(startDate, endDate):
print single_date.strftime("%Y%m%d")
todayDate = single_date.strftime("%Y%m%d")
main_function(todayDate)

1 Ответ

0 голосов
/ 28 мая 2020

Ошибка просто говорит об ошибке деления на 0. Эта ошибка означает, что вы пытаетесь разделить число на 0, что невозможно. Попробуйте изменить его на число, отличное от нуля

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...