Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.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_Multithreading - Fatal编程技术网

如何在运行的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()
我编辑了我的问题。请阅读。