我正在使用python-dateutil包中的rrule方法.我想创建一个可以忽略假日日历中的日期的规则.我知道exdate()方法,但这似乎只是从生成的输出列表中过滤日期.
from dateutil.rrule import *
from datetime import datetime
set = rruleset()
set.rrule(rrule(MONTHLY, count=4, bysetpos=-1, byweekday=(MO, TU, WE, TH, FR), dtstart=datetime(2013,1,1)))
list(set)
# outputs 4 dates without an exdate() call
> [datetime.datetime(2013, 1, 31, 0, 0), datetime.datetime(2013, 2, 28, 0, 0), datetime.datetime(2013, 3, 29, 0, 0), datetime.datetime(2013, 4, 30, 0, 0)]
set.exdate(datetime.datetime(2013, 2, 28, 0, 0))
list(set)
# only outputs 3 dates, ignoring the date provided in exdate()
> [datetime.datetime(2013, 1, 31, 0, 0), datetime.datetime(2013, 3, …Run Code Online (Sandbox Code Playgroud) 我有一个简单的python多处理脚本,它设置一个工作池,试图将工作输出附加到Manager列表.该脚本有3个调用堆栈: - 主调用f1,它产生几个调用另一个函数g1的工作进程.当一个人试图调试脚本时(偶然在Windows 7/64 bit/VS 2010/PyTools上),脚本会运行到嵌套的进程创建循环中,从而产生无数个进程.谁能确定原因?我确定我错过了很简单的事情.这是有问题的代码: -
import multiprocessing
import logging
manager = multiprocessing.Manager()
results = manager.list()
def g1(x):
y = x*x
print "processing: y = %s" % y
results.append(y)
def f1():
logger = multiprocessing.log_to_stderr()
logger.setLevel(multiprocessing.SUBDEBUG)
pool = multiprocessing.Pool(processes=4)
for (i) in range(0,15):
pool.apply_async(g1, [i])
pool.close()
pool.join()
def main():
f1()
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
PS:尝试添加multiprocessing.freeze_support()到主要无济于事.