python for循环中的函数只能运行一次?
问题描述
**这是源码,奇了怪了,最后那个for循环中的函数run()只能运行一次,求大神指点**刚才有个大神回复了还是有点问题,一不小心把问题删除了,重新发布一下,不好意思#coding=utf8import itchatimport timeimport reimport xiandef 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)
问题解答
回答1:我估计是run里面最后的itchat.run()使得itchat服务被挂起了,由于挂起服务,所以第一次调用run()的时候无法跳出,导致后面几次for无法继续运行下去。
回答2:itchat.run会挂起,把itchat.autologin和itchat.run提到外面来,然后起个子线程来运行你自己的run函数,不过itchar.run必须放到子线程启动之后
相关文章:
1. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题2. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)3. angular.js - angularjs的自定义过滤器如何给文字加颜色?4. javascript - 用表单提交两个时间段请求后台返回对应数据时出现的一些问题!5. java - mybatis怎么实现在数据库中有就修改,没有就添加6. 正则表达式 - python pandas的sep参数问题7. docker内创建jenkins访问另一个容器下的服务器问题8. MYSQL新建用户设置可以远程访问的问题9. mysql - SQL操作时间的函数?10. docker api 开发的端口怎么获取?
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)