gpt4 book ai didi

python - 泡菜.PicklingError : Can't pickle : attribute lookup past_match_sim on __main__ failed

转载 作者:行者123 更新时间:2023-12-04 17:08:21 24 4
gpt4 key购买 nike

我正在尝试使用多处理模块一次运行多个文件......

import multiprocessing
import schedule
import time
if len(abc)==1:
def live_run1():
def lv1():
exec(open('/path to file/file1.py').read())
def lv_s():
exec(open('/path to file/file2.py').read())
import multiprocessing
if __name__ == '__main__':
p11 = multiprocessing.Process(target=lv1)
p12 = multiprocessing.Process(target=lv_s)
p11.start()
p12.start()
p11.join()
p12.join()
time.sleep(500)
exec(open('/path to file/file3.py').read())
return schedule.CancelJob
schedule.every().day.at("10:30").do(live_run1)
while True:
schedule.run_pending()
time.sleep(1)

我得到的错误:

pickle.PicklingError: Can't pickle <function past_match_sim at 0x7fa26e03b7b8>: attribute lookup past_match_sim on __main__ failed

我无法从这个问题中走出来......

感谢任何帮助

最佳答案

您的代码可能的修正如下。

我修改了代码以不使用 schedule 模块,因为它甚至在 pickle 全局函数时也有一些麻烦,因此我决定在没有 schedule 的情况下实现相同的功能:

Try it online!

import multiprocessing, time, datetime

def lv1():
exec(open('0603.py').read())

def lv_s():
exec(open('0604.py').read())

def live_run1():
p11 = multiprocessing.Process(target=lv1)
p12 = multiprocessing.Process(target=lv_s)
p11.start()
p12.start()
p11.join()
p12.join()
time.sleep(2)
exec(open('0605.py').read())

def today_at(hour, minute = 0, second = 0):
now = datetime.datetime.now()
return datetime.datetime(
year = now.year, month = now.month,
day = now.day, hour = hour,
minute = minute, second = second)

def now():
return datetime.datetime.now()

def run_at(hour, minute, second = 0, *, done = set()):
at = today_at(hour, minute, second)
if str(at) not in done and now() >= at and (
now() - at <= datetime.timedelta(seconds = 10)
):
print('started running at', now())
live_run1()
print('finished running at', now())
done.add(str(at))

if __name__ == '__main__':
print('now is', now())
while True:
run_at(7, 3, 40)
run_at(10, 40)
time.sleep(1)

输出:

now is 2021-11-22 07:03:32.389326
started running at 2021-11-22 07:03:40.404687
0603
0604
0605
finished running at 2021-11-22 07:03:42.447017

关于python - 泡菜.PicklingError : Can't pickle <function past_match_sim at 0x7fa26e03b7b8>: attribute lookup past_match_sim on __main__ failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70032763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com