尝试分配给我同时就地创建的字符串时出现错误“无法分配给运算符”

问题描述

我正在尝试运行以下代码

from crontab import CronTab
import pandas as pd
cron = CronTab(user='bla')

df = pd.read_csv('dummy.txt')

def func_assign_job(row):
    '''A function executed on each row of the df dataframe.
    I want for each row the job string to be unique'''    
    'job_'+str(row.name)+str(row.time) = cron.new(command='python crontab_example1.py')
    'job_'+str(row.name)+str(row.time).setall('55 16 * * *')

df.apply(func_assign_job,axis=1)

在线

'job_'+str(row.name)+str(row.time) = cron.new(command='python crontab_example1.py')

我收到错误消息SyntaxError:无法分配给运算符” 。我了解出了什么问题-我正在尝试为同时创建的字符串分配内容。我这样做是因为我需要根据函数的输入将函数中的操作分配给不同的字符串,例如分配给job_John_08:00job_Mila_11:00a.s.o。例如,此代码将起作用:

job_name = cron.new(command='python crontab_example1.py')
job_name.setall('55 16 * * *')

但是我不想使用job_name,因为我希望此字符串对于每一行都是不同的。

那么,我如何实现我的这个目标?有什么解决方法 tnx

解决方法

也许您可以使用dict来使用自定义名称来管理功能?这样的事情。

from crontab import CronTab
import pandas as pd
cron = CronTab(user='bla')

df = pd.read_csv('dummy.txt')

tasks={}


def func_assign_job(row):
    '''A function executed on each row of the df dataframe.
    I want for each row the job string to be unique'''    
    tasks['job_{0}{1}'.format(str(row.name),str(row.time))] = cron.new(command='python crontab_example1.py')

df.apply(func_assign_job,axis=1)