如何搜索子字符串,找到开头和结尾,然后检查该数据是否是工作日?

ryg*_*y72 6 python python-3.x

我想出了下面的内容应该相当接近,但它并不完全正确.当我尝试测试数据是否是工作日时,我收到以下错误. AttributeError: 'str' object has no attribute 'isoweekday'

这是我的微弱代码:

offset = str(link).find('Run:')
amount = offset + 15
pos = str(link)[offset:amount]
if pos.isoweekday() in range(1, 6):
    outF.write(str(link))
    outF.write('\n')
Run Code Online (Sandbox Code Playgroud)

我正在寻找字符串'Run:'(冒号后总是有2个空格)然后我想向右移动15个空格,以捕获日期.所以,n个空格找到'Run:'然后得到日期,比如'2018-12-23'并测试这个日期是否是工作日.如果这个子字符串是工作日,我想将整个字符串写入CSV文件中的一行(写入CSV文件可以正常工作).我只是不确定如何找到一个日期(字符串中有几个日期;我需要紧跟在'Run:'之后的日期).

ale*_*cxe 5

你只是忘了将它加载到一个datetime对象中:

from datetime import datetime

# ...
pos_date = datetime.strptime(pos, "%Y-%m-%d")
if pos_date.isoweekday() in range(1, 6):  
    # ...
Run Code Online (Sandbox Code Playgroud)

此外,当您使用.isoweekday()并且星期一表示为1时,您实际上不需要检查下边界:

if pos_date.isoweekday() <= 5:  # Monday..Friday
    # ...
Run Code Online (Sandbox Code Playgroud)