如何在上一行仍然是 运行 的情况下跳转到 python 代码的另一行

How can I jump to another line of a python code while the previous line is still running

我正在尝试创建一个 python 脚本来自动 运行 我所有的 Django 命令, 但是脚本执行在 os.system('python manage.py runserver') 处停止并且不会 运行 下一行,因为 os.system('python manage.py runserver') 需要保持 运行ning。如何在 os.system('python manage.py runserver') 仍然是 运行ning 的情况下 运行 下一行代码?

我试过使用python休眠方法等待几秒然后运行下一行,但是没有用。

这是我的代码:

import os, webbrowser, time
os.system('pipenv shell')
os.system('python manage.py runserver')
time.sleep(5)
webbrowser.open('http://127.0.0.1:8000', new=1, autoraise=True)

执行在 os.system('python manage.py runserver') 停止,但我希望它在 运行 webbrowser.open('http://127.0.0.1:8000', new=1, autoraise=True)os.system('python manage.py runserver') 仍然是 运行ning.

您需要使用subprocess,

from subprocess import call
call('python manage.py runserver',shell=True,cwd="/my/code/dir/") # your code directory
webbrowser.open('http://127.0.0.1:8000', new=1, autoraise=True)

旧模块 os.system, os.spawn* 被功能更多的新模块取代 subprocess,建议使用旧模块。

使用 os.spawnl(os.P_NOWAIT, 'python manage.py runserver') 将 return 新进程的 PID,无需等待 return 代码。

subprocess.Popen() 创建后台子进程并且不等待完成子进程。更多请关注documentation.

subprocess.Popen() 按照@arryph 的建议为我工作。