11.7 Standard Module nntplib

  

このモジュールでは、NNTPプロトコルのクライアント側を実装するための NNTPクラスが定義されています。 これはニュースの読み書き、自動処理のために使えます。 NNTP(Network News Transfer Protocol)に関する詳細は、 RFC 977を見てください。

ここでは使い方を説明する2つの簡単な例を載せます。 ニュースグループについてのいくつかの統計情報と、 最新の10個の記事を表示するものです。

>>> s = NNTP('news.cwi.nl')
>>> resp, count, first, last, name = s.group('comp.lang.python')
>>> print 'Group', name, 'has', count, 'articles, range', first, 'to', last
Group comp.lang.python has 59 articles, range 3742 to 3803
>>> resp, subs = s.xhdr('subject', first + '-' + last)
>>> for id, sub in subs[-10:]: print id, sub
... 
3792 Re: Removing elements from a list while iterating...
3793 Re: Who likes Info files?
3794 Emacs and doc strings
3795 a few questions about the Mac implementation
3796 Re: executable python scripts
3797 Re: executable python scripts
3798 Re: a few questions about the Mac implementation 
3799 Re: PROPOSAL: A Generic Python Object Interface for Python C Modules
3802 Re: executable python scripts 
3803 Re: \POSIX{} wait and SIGCHLD
>>> s.quit()
'205 news.cwi.nl closing connection.  Goodbye.'

ファイルから記事を投稿する例です。 (記事には正しいヘッダがついているものとします)

>>> s = NNTP('news.cwi.nl')
>>> f = open('/tmp/article')
>>> s.post(f)
'240 Article posted successfully.'
>>> s.quit()
'205 news.cwi.nl closing connection.  Goodbye.'
このモジュールでは以下のアイテムが定義されています:

NNTP (host[, port])
host上のportで待機中の NNTPサーバに接続した NNTPクラスの新しいインスタンスを返します。 portのデフォルトは 119です。

error_reply
サーバから予期しない応答があった場合に発生する例外。

error_temp
エラーコード 400-499を受け取った場合に発生する例外。

error_perm
エラーコード 500-599を受け取った場合に発生する例外。

error_proto
1-5の数字で始まらない応答を受け取ったときに発生する例外。


guido@python.org