0

こんにちは、私は現在いくつかの調査に取り組んでおり、情報を収集するためにTwitterAPIを利用していました。Pythonで特定のツイートをクエリするコードを作成し、結果をテキストファイルに保存したいのですが、コードは返されたツイートの最後のツイートのみを返します。これを修正する方法と何が問題なのかを誰かに教えてもらえますか?以下は、返されたすべてのツイートではなく、最後のツイートのみを保存するPythonのコードのサンプルです。

u = urllib2.urlopen('http://search.twitter.com/search.json?geocode=29.762778,-95.383056,10.0mi&page=1&rpp=10')
datares = json.load(u)
pprint.pprint(datares)
for tweet in datares['results']:
  print tweet['text']
  archive=tweet['text']
  unicodedata.normalize('NFKD', archive).encode('ascii','ignore')
  with codecs.open('HTXtweets.txt',mode='w', encoding='utf-8',errors='replace') as cache:
    cache.write(archive)
    cache.closed
4

2 に答える 2

1

結果のループの各反復でファイルを開いています。これにより、毎回ゼロから再作成されます。

ループの前に開く必要がありますwith。ステートメントが終了すると自動的に行われるため、最後に閉じる必要はありません。

于 2012-04-20T13:58:09.683 に答える
0

これは、各反復で書き込むためにファイルを開くためです。これにより、ファイル内の既存のコンテンツが置き換えられます。'a'ファイルを開くときは、代わりにフラグを使用してみてください(付録のように)。

于 2012-04-20T13:57:02.873 に答える