blackantt 发表于 2024-11-1 11:16:22

sys.exit() 是退出的那一层程序?

batch.py 如下:

import os
os.system('python 1.py')
os.system('python 2.py')      
os.system('python 1.py')


2.py里有           sys.exit()语句为真


那只是退出 2.py还是 退出 batch.py 了?

FishC 发表于 2024-11-1 11:23:07

`sys.exit()` 只会退出当前运行的 Python 解释器实例。在你的例子中,`batch.py` 使用 `os.system()` 来调用其他 Python 脚本(如 `1.py` 和 `2.py`)。每次调用 `os.system()` 时,都会启动一个新的命令行进程来运行指定的脚本。

因此,当 `2.py` 中的 `sys.exit()` 被执行时,它只会退出 `2.py` 所在的那个命令行进程,而不会影响 `batch.py` 的执行。`batch.py` 会继续执行接下来的命令。

换句话说,`sys.exit()` 只会退出 `2.py`,而不会退出 `batch.py

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: sys.exit() 是退出的那一层程序?