'str'对象不可调用站点[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了'str'对象不可调用站点[关闭]相关的知识,希望对你有一定的参考价值。

当我执行代码时,我遇到了错误,我不知道为什么!我从一个页面中获取此代码,通常他们的代码应该可以工作,但它不起作用

    for tweet2 in find:
        file = open( 'tweets.txt', 'a' )
        print( "name:", tweet2.author.name )
        print( "Screen-name:", tweet2.author.screen_name )
        print( "Tweet created :", tweet2.created_at )
        print( "tweet:", tweet2.text )
        print( "Retweeted:", tweet2.retweeted )
        print( "language:", tweet2.lang )
        print( "Location:", tweet2.user.location )
        print( "Time-zone:", tweet2.user.time_zone )
        print( "Geo:", tweet2.geo )
        print( "Hashtages:", tweet2.entities.get( 'hashtags' ) )
        print( "------------------------------------" )

        file.write(
            'Name:s
Screen-Name:s
Created_at:s
Tweet-Text:s
Retweeted:s
language:s
Location:s
Time_zone:'(
            tweet2.author.name, tweet2.author.screen_name, tweet2.created_at, tweet2.text,
            tweet2.retweeted ,tweet2.lang ,tweet2.user.location,tweet2.user.time_zone,tweet2.geo))
    file.close()
    -------------------------------


    Tweet created : 2018-01-29 17:09:35
    tweet2.lang ,tweet2.user.location,tweet2.user.time_zone,tweet2.geo))
tweet: Python for Beginners with Examples
TypeError: 'str' object is not callable

有什么建议?提前致谢

答案

将您的file.write()功能更改为

file.write('Name:{}
Screen-Name:{}
Created_at:{}
Tweet-Text:{}
Retweeted:{}
language:{}
Location:{}
Time_zone:{}'.format(tweet2.author.name, tweet2.author.screen_name, tweet2.created_at, tweet2.text, tweet2.retweeted ,tweet2.lang ,tweet2.user.location,tweet2.user.time_zone))
另一答案

这是你的问题。

file.write(
        'Name:s
Screen-Name:s
Created_at:s
Tweet-Text:s
Retweeted:s
language:s
Location:s
Time_zone:'(
        tweet2.author.name, tweet2.author.screen_name, tweet2.created_at, tweet2.text,
        tweet2.retweeted ,tweet2.lang ,tweet2.user.location,tweet2.user.time_zone,tweet2.geo))

这部分是一个字符串:

'Name:s
Screen-Name:s
Created_at:s
Tweet-Text:s
Retweeted:s
language:s
Location:s
Time_zone:'(

紧随其后,你有一个左括号。这是一个函数调用。您试图像函数一样调用该字符串。 Python正确地在这个BS上打电话给你。

我假设你想把其他值作为字符串的一部分写入文件,可能是你有s的地方。这应该是%s,你应该在字符串和值之间使用%运算符。作为评论中的sng注释,您似乎也缺少占位符,也可能没有正确数量的值。作为第一次尝试,将该行更改为:

'Name:%s
Screen-Name:%s
Created_at:%s
Tweet-Text:%s
Retweeted:%s
language:%s
Location:%s
Time_zone:%s' % (

您也可以使用.format()作为A Magoon建议;这是更新的方式。我建议%,因为它看起来像你想要做的。

以上是关于'str'对象不可调用站点[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Python:不能在类中使用函数两次,TypeError:'list'对象不可调用,为什么? [关闭]

lambda and TypeError:'模块'对象不可调用[重复]

TypeError:使用Python Click库无法调用'str'对象

'numpy.ndarray':对象不可调用错误

Python TypeError:'bool'对象不可调用[重复]

TypeError:'numpy.ndarray'对象在我的代码中不可调用