参数传递:从另一个 Python 代码异步调用 Python 代码

时间:2020-12-21 18:35:26

标签: python asynchronous subprocess popen

我正在尝试从另一个 Python 代码内部对 Python 代码进行异步调用,其唯一目的是,被调用的代码应该独立运行,而调用者代码不应等待它完成或出错出来,在这样做的同时,我试图将一个参数传递给其他代码。调用方代码如下:

import subprocess
import sys

print('Starting')
p = subprocess.Popen([sys.executable, r'D:\Projects\called_code.py', '5'],
                                    stdout=subprocess.PIPE,
                                    stderr=subprocess.STDOUT)
print('Call happened')

调用代码如下:

import time
import sys

a = int(sys.argv[1])
f = open("test.txt", "a")
for i in range(a):
    print('Number is: ', i)
    f.write('Number is: '+str(i)+'\n')
    # time.sleep(2)

f.close()

现在,挑战是,当我手动运行被调用的代码时,它运行得很好,但是当我从调用者代码运行它时,它会运行,创建 test.txt 文件,但不会发生行明智的文件写入.

对我哪里出错有什么帮助吗?

0 个答案:

没有答案