当我使用以下循环运行python tweepy函数时,下面的if语句将被忽略。返回的结果是“高”,即使它们应该说“非常高”或“中等”。即使它有时应该是“真实的”,似乎总是变得“虚假”,从而将状态从“高”改变。同样,标志总是变为0。
for i in xrange(0, len(ids), segment):
for follower in client.lookup_users(user_ids=ids[i:i+segment]):
flags=0
x='false'
y='false'
status=''
values=[]
userId = userId
name =str(follower.name.encode('utf-8'))
screen_name = str(follower.screen_name.encode('utf-8'))
background =str(follower.default_profile)
profilePic = str(follower.default_profile_image)
#Check if friends to follow ratio is higher than limit set above
if friendsFollowersRatio>highfriendsFollowRatio:
highFollow = 'true'
x = 'true'
else:
highFollow = 'false'
if lowFollowHighFriends == 'true':
x = 'true'
if tweetNum >= xNumberOfTweets:
x = 'true'
if background=='true' and profilePic=='true':
flags = flags+2
if screen_name==name:
flags= flags+1
if flags>1:
y='true'
if x=='true'and y=='true':
status = 'very high'
elif x=='true'and y=='false':
status='high'
elif x=='false'and y=='true':
status='medium'
#ADD INACTIVE
else:
status=' blank'
#Put stuff here
userId = userId + 1
#add values to array
values.append(userId)
values.append(name)
values.append(screen_name)
values.append(background)
values.append(profilePic)
####Create csv file ######
#Add values as a new row in the data
csvFile = open('file.csv','ab')
#prep file to be written on
newFile =csv.writer(csvFile)
newFile.writerow(values)
#close file
csvFile.close()
答案 0 :(得分:1)
我无法在任何地方看到您更新y
的值,因此当您到达'false'
时,它应始终为if
。你的意思是在上面的一个地方设置它而不是x
吗?名称如' x'并且' y'在这里很难猜出你的意思是什么,但你永远不会更新y
所以你不应该期望它的价值会发生变化。
另外,为什么不使用True
和False
而不是使用包含这些字符串的字符串?您应该使用bothon类型python而不是使用字符串。