为什么sched会分裂我的字符串

时间:2015-02-24 18:18:53

标签: python string scheduler

我试图使用sched来运行tweetsearch,这个函数接受一个参数,一个字符串。

s.enter(delaypercycle, 1, tweetsearch, "nike")
s.run()

返回“TypeError:tweetsearch()只取1个参数(给定4个)”。 将“nike”更改为“chicken”会返回相同的错误,除了(7给定)。

知道如何将字符串传递给sched?

产生相同错误的示例代码:

import sched, time
s = sched.scheduler(time.time, time.sleep)
def printword(word):
    print word
While True:
    s.enter(1, 1, printword, "chicken")
    s.run

2 个答案:

答案 0 :(得分:1)

它需要元组参数。传入一个字符串会导致它将该字符串用作iterable:每个字符都成为一个单独的参数。

尝试传递一个元组:("Nike",)(注意尾随逗号)。

答案 1 :(得分:0)

将您的代码更改为:

s.enter(delaypercycle, 1, tweetsearch, ("nike",))
s.run()

sched正在尝试tweetsearch(*"nike"),相当于tweetsearch('n', 'i', 'k', 'e')