我试图在多线程中编码,我的一个线程应该创建一个文件,而其他线程应该使用该文件。线程同步很好。
问题是文件对象在代码完成时或当我按下终止按钮时写入磁盘(我使用PyCharm pro)。
小例子:
1.我尝试使用调用其他脚本 test1 的服务,但它运行不正常。
我认为如果 test1 会创建文件,只要服务没有完成运行,他就可以多次执行此操作。
service.py
import time
import runpy
import test1
def anotherChance(global_vars=None, local_vars=None):
with open("test1.py") as f:
code = compile(f.read(), "test1.py", 'exec')
exec(code, global_vars, local_vars)
def service_func():
print('service func')
print('while loop')
while True:
print(1234)
time.sleep(5)
test1.some_func()
if __name__ == '__main__':
#exec(open("test1.py").read()) ##1 another wrong sol
#anotherChance() ##2 another wrong sol
#service_func()
test1.some_func()
service_func()
test1.py
import os
def tempreding ():
with open('betext_file.json', 'w') as file:
file.write('helloo')
print(file.fileno())
def some_func():
print('in test 1, unproductive')
#infile=open('abcs.json','w')
#infile.write('aabbcc')
tempreding()
if __name__ == '__main__':
#print("I am a test")
#print(" I do nothing .")
some_func()