class XMLSchemaFake:^M
# This is temporary, for the benefit of WSDL until the real thing works.^M
def __init__(self, element):^M
self.targetNamespace = DOM.getAttr(element, 'targetNamespace')^M
self.element = element
とかなっていると、fileobj = ile(..., 'rU')で読み込んであげないと改行のところでcompile.parse(fileobj)でエラーになってしまう。
しかしrUで読んでもだめなものがいくつかあった。
- /usr/lib/python2.4/test/badsyntax_nocaret.py
そもそもに文法的に正しくないテストコード(failすることを確認するためだと思われる。中身はこれ。
def f(x):
[x for x in x]=x - ファイルの終わりにspaceだけからなる行が存在していて、おかしくなっている。vimで開くとnoeolとかいわれる。
- /usr/lib/python2.4/site-packages/yumgui/__init__.py
- /usr/lib/python2.4/site-packages/yumgui/callbacks.py
- /usr/lib/python2.4/site-packages/MoinMoin/_tests/test_pysupport.py
- /usr/lib/python2.4/site-packages/testgears/command.py
- /usr/lib/python2.4/site-packages/testgears/tests/test_collection.py
- /usr/lib/python2.4/site-packages/turbojson/tests/test_sqlalchemy.py
- ファイルの終わりにtabだけからなる行が存在していて、おかしくなっている。
- /usr/lib/python2.4/site-packages/sqlobject/include/pydispatch/robustapply.py
このへんかな?
next()
ファイルオブジェクトはそれ自身がイテレータです。すなわち、 iter(f) は (f が閉じられていない限り) f を返します。for ループ (例えば for line in f: print line) のようにファイルがイテレータとして 使われた場合、next() メソッドが繰り返し呼び出されます。 個のメソッドは次の入力行を返すか、または EOF に到達したときに StopIteration を送出します。ファイル内の各行に対する for ループ (非常によくある操作です) を効率的な方法で 行うために、next() メソッドは隠蔽された先読みバッファ を使います。先読みバッファを使った結果として、(readline() のような) 他のファイルメソッドと next() を組み合わせて使うと うまく動作しません。しかし、seek() を使ってファイル位置 を絶対指定しなおすと、先読みバッファはフラッシュされます。
rpm packageするまえにText::FixEOLを通すような元気はあまりないなぁ。作る側でケアしてほしいのだが。
もうちょっと丁寧にみないといけないだろうが、今日はもうここまで。
0 件のコメント:
コメントを投稿