【发布时间】:2018-01-15 02:10:19
【问题描述】:
我正在尝试做一些应该非常简单的事情。我对为什么我的代码无法工作感到有点沮丧,因此感谢您提供任何帮助:)。
我的程序读入数据,然后制作一个字典,记录特定项目出现的次数(我正在使用 Twitter 数据并计算主题标签的出现次数)。我想输出热门推文,并找到了一种使用以下方法的简单方法:
def main():
tweet_file = open(sys.argv[1])
tweet_dic = lines(tweet_file) #function that makes my dictionary
for i in range(0,10):
big_key = max(tweet_dic, key = lambda i: tweet_dic[i])
big_value = tweet_dic[big_key]
sys.stdout = big_key + " " + str(big_value)
del tweet_dic["big_key"]
tweet_file.close()
我使用它时遇到的错误是AttributeError: 'str' object has no attribute 'write'
现在我已经使用print 将两个不同的值输出到终端中,它们可以毫无问题地放入两个不同的print 语句中,因为我不必连接或任何东西。我检查了这两种变量类型,不出所料,它们总是str & int。
我对@987654327@(integer to convert) 函数的理解是,你应该能够传入一个整数并返回一个字符串表示!转换后,我过去可以毫无问题地打印出类似的东西。
需要考虑的事情可能会将其丢弃 - big_key 有时可能是由 .encode('utf-8') 从 Unicode 转换而来的 string。否则,我的文件的输出(在单独的行上打印)如下所示:
MTVHottest 60
KCAMexico 38
EXO 26
CD9 24
Unicode 19
Coders 18
AlonsoVillapandoTrendy 17
Unicode 14
Unicode 14
有什么想法吗?提前致谢!
【问题讨论】:
-
您只是想将其打印到控制台吗?任何你不只是做的理由:
print( big_key + " " + str(big_value))
标签: string python-2.7 unicode