You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python主脚本调用子脚本异常:main.py仅执行首个函数后续无响应

问题解决:main.py仅执行第一个函数的原因及修复

核心错误修正

你的main.py存在两个关键问题,其中第一个是导致逻辑执行异常的根本原因:

  1. 入口条件字符串错误:Python脚本的标准入口判断是if __name__ == '__main__',你写成了'main'(缺少前后各两个下划线)。直接运行main.py时,__name__变量的值是'__main__',原条件不成立,代码块内的逻辑本应完全不执行——你描述的部分执行情况可能是运行方式或代码缩进有误,但这个错误必须优先修正。
  2. 变量打印错误:print('folder_name')是打印字符串字面量,若要输出输入的文件夹名称,应改为print(folder_name)(去掉引号)。

修正后的main.py代码:

import sftpConnector
import fileIterator


if __name__ == '__main__':
    folder_name = input('File name: ')
    print(folder_name)

    sftpConnector.establisher(folder_name)
    fileIterator.iterator(folder_name)

额外排查方向

如果修正后第二个函数仍不执行,可排查以下两点:

  • 检查sftpConnector.establisher函数内是否包含sys.exit()或其他终止程序的代码,这类代码会导致程序在完成第一个函数后直接退出,无法执行后续逻辑。若有,需移除相关语句。
  • 给fileIterator.iterator的调用添加异常捕获,排查是否存在静默失败的异常:
try:
    fileIterator.iterator(folder_name)
except Exception as e:
    print(f"执行iterator函数出错: {e}")

内容的提问来源于stack exchange,提问作者excelsiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 13:36:39