Python 学習:Perl では、__DATA__

2014-05-05 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
3、2、1、1、2、 0、0、0、1、0(41)で、換算ポイント 61pt 。
「Firefox」昨日夜5位に復帰。
・-・ - -・

さて、本文。

再びの、Python 学習。

Perl では、「__DATA__」で始まる行からのモノ・・・なんと呼ぶのか?

コメントと云うか、ソース内に記述して使っている。
<紙>にとっては結構便利なもの。


「ぱるも日記」の 2006-06-20 の記事:
特殊ファイルハンドル DATA
に説明があった。

  Perl コンパイラがコードを解釈する段階で、
  「__END__」もしくは「__DATA__」という行(トークン)を見つけると、
  それ以降からファイルの終わりまでコードとして解釈されなくなります。
  コメントのように、何を書いてもコードとしては実行されませんが、
  これらのテキストは「DATA」という特殊なファイルハンドルで
  参照する事ができます。

  特殊なファイルハンドルといっても、普通のファイルハンドルと同じ
  ように行入力演算子(<>)などで読み込む事ができるので、
  コード中に簡単なデータを埋め込みたい時に便利です。

  「__END__」と書いた場合は、どんなパッケージでも
  常に main パッケージの DATA ファイルハンドル(main::DATA)に
  関連付けられます。
  「__DATA__」と書いた場合は、現在のパッケージの DATA ファイル
  ハンドル(__PACKAGE__::DATA)に関連付けられます。

  ・・・・・

と云うことでした。


それで、
「Perl」から「Python」に移行する為に、
同じ様なことが出来ないのか?

調べてみたら、
こんな“Q&A”を見つけた。
What's the Pythonic way to store a data block in a Python script?
例の「Stack Overflow」ですね。
  Perl allows me to use the __DATA__ token in a script
   to mark the start of a data block.
  I can read the data using the DATA filehandle.
  What's the Pythonic way to store a data block in a script?
即ち???
  Perl は、スクリプトの __DATA__ トークンを使ってデータ
   ブロックの開始をマークすることができます。
  データのファイルハンドルを使用してデータを読むことができます。
  スクリプトでデータ ブロックを格納する Pythonic 方法は何ですか?
???


それで、回答は、・・・4つあるが、

1つ目(8)は、
  It depends on your data, but dict literals
   and multi-line strings are both really good ways.
  ・・・・・
  ・・・・・

2つ目(3)は、
   Use the StringIO module to create an in-source file-like object:
  ・・・・・
  ・・・・・

これか? ( 日本語はダメだが )

textdata = '''\
hogeHOGE
test TEST.
'''

DATAz = StringIO( textdata )
for d in DATAz:
print d

DATAz.seek( 0 )
DATAz.readline()
print DATAz.readline()


とすると、・・・
結果は、

hogeHOGE

test TEST.

test TEST.


となりますね。

やはり、疑問点の解決には、
先ずは「Stack Overflow」ですね。

  Stack Overflow is a question and answer site
   for professional and enthusiast programmers.
  It's 100% free, no registration required.
=====
  スタック オーバーフローは、プロや愛好家のプログラマ
   のための質問と回答サイトです。
  それは 100 % 無料、フリー、登録は必要ありません。


本日はここまで。
更に Python 学習は続く。



見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


140221
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク