首页 > 解决方案 > 在循环中运行脚本时替代 sys.exit(0) 吗?

问题描述

我有一个形式的循环:

import pandas as pd
import os
import sys


range_start_date = '2020-01-01'
range_end_date = '2020-01-10'
daterange = pd.date_range(range_start_date, range_end_date) # creates a range of dates list

for d in daterange:
    start_date = d.strftime("%Y-%m-%d")
    exec(open("run_transactions.py").read())

在 run_transactions.py 我有这样的特定代码行:

import sys
if transactions.shape[0] == 0:
     sys.exit(0)

我这样做是因为在脚本的更下方,我将一些数据整理应用于称为事务的数据帧。但是,有时交易没有数据,在这种情况下我退出。

但是,由于我将脚本作为循环的一部分调用,每次循环迭代都有一个新的日期 d,我不想完全退出程序,而是只想跳过脚本的其余部分,然后继续环形。

有没有办法让我告诉 python 如果if transactions.shape[0] == 0然后停止运行 run_transactions.py 的迭代并继续循环的下一部分?使用 sys.exit(0) 完全存在程序并打破循环,这不是我想要的。

标签: python

解决方案


如果我们只使用“return”,它会起作用吗?

if transactions.shape[0] == 0:
     return
else:
     your code (happy path)

推荐阅读