Heim  >  Fragen und Antworten  >  Hauptteil

Funktion in Python for-Schleife kann nur einmal ausgeführt werden?

**这是源码,奇了怪了,最后那个for循环中的函数run()只能运行一次,求大神指点**
刚才有个大神回复了还是有点问题,一不小心把问题删除了,重新发布一下,不好意思

#coding=utf8
import itchat
import time
import re
import xian

def run(url):

    xian.parse(url)
    
    itchat.auto_login(hotReload=True)
    
    users = itchat.search_friends(name='risk')                  #获取对方UserName,返回一个列表
    print('========================================================================')
    user = users[0]['UserName']                                 #提取指定UserName
    print(user)
    
    f = open('/Users/Air/itchat/data2.txt')
    lines = f.readlines()                                           #读取全部内容
    print(lines)
    
    for i in range(100):
    itchat.send(lines[i], toUserName=user)                 #UserName需要用上面获取的自己修改
    
    print("Success")
    f.close()
    itchat.run()
    
for x in range(1,5):

    url1 = 'https://m.taobao.com/list/list.htm?'
    run(url1)
    time.sleep(10)
伊谢尔伦伊谢尔伦2690 Tage vor988

Antworte allen(2)Ich werde antworten

  • 習慣沉默

    習慣沉默2017-06-30 09:57:41

    我估计是run里面最后的itchat.run()使得itchat服务被挂起了,由于挂起服务,所以第一次调用run()的时候无法跳出,导致后面几次for无法继续运行下去。

    Antwort
    0
  • 高洛峰

    高洛峰2017-06-30 09:57:41

    itchat.run会挂起,把itchat.autologin和itchat.run提到外面来,然后起个子线程来运行你自己的run函数,不过itchar.run必须放到子线程启动之后

    Antwort
    0
  • StornierenAntwort