我正在尝试从另一个 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 文件,但不会发生行明智的文件写入.
对我哪里出错有什么帮助吗?