Python有选择地编写特定语句

时间:2017-06-27 15:15:37

标签: python tweepy

下面的def在cmd中完美地工作,但是当写入文件时,它只写入第二个data.write语句。第一个声明肯定是有效的,它只是不写作。鉴于代码是相同的,我无法弄清楚我的生活有什么不对。

def follower_count(list1):
    for name in list1:
        name = '@' + name
        try:
            user = api.get_user(name)
            if user.followers_count < 5000:
                print ""
                print "FAILED TEST"
                print name
                print user.followers_count
                data.write(name + ": " + user.followers_count + "\n")
            else:
                print ""
                print name 
                print user.followers_count
        except: 
            print ""
            print "Error grabbing " + name
            data.write("Error Grabbing: " + name + "\n")
    return() 

1 个答案:

答案 0 :(得分:2)

data.write(name + ": " + user.followers_count + "\n")

如果TypeError: Can't convert 'int' object to str implicitly是整数,此行将与user.followers_count一起崩溃。

尝试使用str.format插入字符串。

data.write("{}: {}\n".format(name, user.followers_count))

此外,您通过不在except中显示任何诊断信息,使自己的调试变得更加困难。您知道发生了错误,但没有具体了解该错误。至少,你可以这样做:

    except Exception as e: 
        print ""
        print "Error grabbing " + name
        data.write("Error Grabbing: " + name + "\n")
        data.write(e.message + "\n")

至少会告诉你错误信息是什么。