Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在前一行仍在运行的情况下跳转到python代码的另一行_Python_Django_Command Line_Autorun - Fatal编程技术网

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

如何在前一行仍在运行的情况下跳转到python代码的另一行,python,django,command-line,autorun,Python,Django,Command Line,Autorun,我正在尝试创建一个python脚本来自动运行所有Django命令, 但是脚本执行会在os.system('python manage.py runserver')处停止,并且不会运行下一行,因为os.system('python manage.py runserver')需要继续运行。当os.system('python manage.py runserver')仍在运行时,如何运行下一行代码 我尝试使用python睡眠方法等待几秒钟,然后运行下一行,但没有成功 这是我的密码: import o

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

我尝试使用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)
而操作系统('python manage.py runserver')仍在运行。

您需要使用
子流程

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*
将被具有更多功能的较新模块
子流程
所取代,建议使用这些模块代替较旧的模块

使用
os.spawnl(os.p_NOWAIT,'python manage.py runserver')
返回新进程的PID而不等待返回代码


subprocess.Popen()。有关更多信息,请按照@arryph推荐的方法执行。

subprocess.Popen()为我工作。

我怀疑
os.system('pipenv shell')
在这里是否有用-在运行下一个命令之前,shell将关闭。谢谢,刚刚注意到这一点。如何保持shell打开?请使用
pipenv run python manage.py runserver
。谢谢,请尽量避免回答“这对我也有用”这样的问题。