如何在运行的python脚本中启动其他脚本(新线程或进程?)
如果我有这样一个程序:如何在运行的python脚本中启动其他脚本(新线程或进程?),python,multithreading,Python,Multithreading,如果我有这样一个程序: for i in range (25000): do something if i == 5000: run new_script.py in a new thread/process continue as before 如何执行此操作?将new_script.py的内容放入函数中并导入它 从线程导入线程 从新脚本导入f 对于范围内的i(25000): 做某事 如果i==5000: 线程(target=f,args=(arg
for i in range (25000):
do something
if i == 5000:
run new_script.py in a new thread/process
continue as before
如何执行此操作?将new_script.py的内容放入函数中并导入它
从线程导入线程
从新脚本导入f
对于范围内的i(25000):
做某事
如果i==5000:
线程(target=f,args=(arg1,arg2)).start()
您好,欢迎来到StackOverflow!如果你还没有,请阅读。到目前为止,您尝试了什么?如果语法不使用括号并使用双=
符号进行比较,那么当标准方法是使用新进程时,为什么要使用线程执行不同的脚本?线程必须共享代码和静态数据,这将要求您将另一个脚本导入当前进程,而新进程将独立运行。@SergeBallesta:我编辑了我的问题。如果您认为过程是一个更好的解决方案,请给我一些代码来做到这一点。谢谢。@我将代码从Thread
更改为Process
,似乎没有错误,但第二个程序不工作。谢谢Politinsa,我尝试了您的代码,但收到了以下错误消息:线程中的异常-8:回溯(最近一次调用):文件“C:\ProgramData\Anaconda3\lib\threading.py”,第917行,在run self.\u target(*self.\u args,**self.\u kwargs)TypeError:f()接受1个位置参数,但给出了10个
参数
是一个元组,包含将传递给f
函数的参数。检查f
的签名并调整args=(arg1,arg2)
我使用了这样的代码线程(target=f,args=(z))。start()
我编辑了我的问题。请阅读。