くだすれPython(超初心者用) その8at TECH
くだすれPython(超初心者用) その8 - 暇つぶし2ch40:デフォルトの名無しさん
10/08/30 10:37:36
trunk今確認したけど対応していなかったね。
またリリースについてもこの先分からない、とあるね。

2.7までが対応範囲とのことで・・・。
URLリンク(wiki.wxpython.org)

41:デフォルトの名無しさん
10/08/30 10:42:53
PyQtは?

42:デフォルトの名無しさん
10/08/30 10:44:16
ライセンスが・・・・・・・・・・・・・

43:デフォルトの名無しさん
10/08/30 10:50:38
Python3.0 への移行準備
URLリンク(d.hatena.ne.jp)

URLリンク(coreblog.org)

    最も大きな理由。それはCで書かれたエクステンションの3.0対応がけっこう大変だから。

    ...

    データベース接続モジュール,テンプレートエンジンとか,お世話になっているCエクステンションは多い。
直接使って無くても,フレームワークがそういうエクステンションを使っていることが多い。
その他にも,PILのようなライブラリ,wxPythonのようなGUIフレームワークラッパは修正点が多くて大変だと思う。
これらのエクステンションの多くが3.0に対応してくれないと,僕は完全に3.0には移行できない。
それまで数年かかるだろう,ということだ。

まったく同感だったんだけど、最近はPython界が僕が思うより速く動いている事に驚いている。
数年というのは3年以下かもしれない。

Pythonの「バージョン間互換性重視」スタイルは言語と標準ライブラリだけでなくて Python/C API にも及んでいる。
Python3でも、いくつかの型が変更されたけれど参照カウント等の基礎は基本的にそのままになっている。

そして、その互換性を重視した文化は、多くの拡張ライブラリ作成ツールを生んだ。
そのツールたちも、Python3に続々対応してきている。基本が変わらないから、そこそこの手間で対応できるらしい。

ツール群とそのツールを使った有名なライブラリをあげてみる。

44:デフォルトの名無しさん
10/08/30 11:15:05
で、wxpythonが3.x対応になるのはいつなの?

45:デフォルトの名無しさん
10/08/30 11:24:09
Djangoも早く3.0対応して欲しいですぅ

46:デフォルトの名無しさん
10/08/30 23:50:12
numpyも

47:デフォルトの名無しさん
10/08/31 04:58:03
Ruby使えば解決だよ!

48:デフォルトの名無しさん
10/08/31 06:32:57
DjangoがPython3対応になったら古いDjangoとの互換性はどうなるんだろ

49:デフォルトの名無しさん
10/08/31 11:46:29
もしサポートがなければ変換用スクリプト組むしかないんじゃないのかな

50:デフォルトの名無しさん
10/08/31 15:59:09
Windows XP Service Pack 3
Python 2.7
です。

ファイル名を表す文字列で、
文字列1 自然数1x自然数2 文字列2.拡張子
となっているものがあります。
(自然数1と自然数2の間には'x'の1文字だけがはいります。
 また、文字列1 文字列2の部分は空かもしれません。)
それらを与えて、[自然数1,自然数2]となったリストを取得する方法は
どう書けばいいでしょうか?

例:
 URLリンク(codepad.org)

正規表現は使ったことがあまりない(テキストエディタで正規表現検索はしています。)のですが、
正規表現で可能でしょうか。

もし可能でしたら、教えていただけますでしょうか?
よろしくお願い申し上げます。


51:デフォルトの名無しさん
10/08/31 17:45:01
r'.*(\d+)x(\d+).*\.[^\.]+'

52:デフォルトの名無しさん
10/08/31 17:45:59
自然数1x自然数2 がファイル名の中に一回しか出てこないと決まっているなら、

>>> import re
>>> m = re.search(r'(\d+)x(\d+)', "aaaa iiii 5555 uuuu eeee 1200x1600 ooo.jpg")
>>> if m: map(int, m.groups())
...
[1200, 1600]

'2x4 buildings 1200x1600.jpg' とかだと上手くいかないので注意

53:デフォルトの名無しさん
10/08/31 17:52:09
xの前後に空白があるパターンもあるみたいよ

54:デフォルトの名無しさん
10/08/31 17:52:26
すまん間違いっぽい
これでとりあえず通る
r'.*?(\d+)x(\d+).*\.[^\.]+'

55:50
10/08/31 23:41:10
>>51-54
ありがとうございます。

>自然数1x自然数2 がファイル名の中に一回しか出てこないと決まっているなら、
確かに、その条件を申し上げておりませんでした。
一回しか出てこないと決まっています。

>>53
> xの前後に空白があるパターンもあるみたいよ
xの直前や直後に空白がある場合は無効です。


56:デフォルトの名無しさん
10/09/01 00:16:24
コメントを読んでなかった。xの前後にスペースあるのは駄目という例だったのか。

57:デフォルトの名無しさん
10/09/01 01:03:38
ファイル「f」の先頭n行が欲しい場合は
for num, line in enumerate(f):
  if num >= n: break
  処理

for num, line in zip(range(n), f):
  処理
のどちらが良いでしょうか?
好みでも構わないのでどちらがいいのか(できれば理由付きで)ご教示ください
#ファイルがn行未満の場合は例外を発生させます

58:50
10/09/01 01:42:06
>>51-54
おかげさまでどうにかなりました。

ありがとうございました。



59:デフォルトの名無しさん
10/09/01 02:57:44
>>57
前者はif文がキモイ。
後者は一気にn行読み込んでしまうので、itertools.izipを使う。(Python3ならzipでOK)
for i in range(n):
    line = next(f)
もシンプルで良い。
n行を一気に読み込むなら、前者の書き方よりも、
lines = [next(f) for i in range(n)]
の方が良い。

60:デフォルトの名無しさん
10/09/01 03:13:08
>>59
おかげさまでどうにかなりました。

ありがとうございました。



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch