Pythonのお勉強 Part15
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/12(日) 22:51:44http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
Python 2.5
http://www.python.org/download/releases/2.5/
IronPython
http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
まとめ wiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
Pythonの入門書「みんなの Python」
http://www.amazon.co.jp/gp/product/479733665X/
Pythonのお勉強 Part14
http://pc8.2ch.net/test/read.cgi/tech/1161272096/
0314デフォルトの名無しさん
2006/11/23(木) 13:04:29自分もだいぶ悩んだことあるけど結局できずに環境変数に絶対パス入れたよ。
0315デフォルトの名無しさん
2006/11/23(木) 13:10:17os.path.abspath(os.path.dirname(sys.argv[0]))
0316デフォルトの名無しさん
2006/11/23(木) 13:11:47os.path.dirname(sys.argv[0])
0317デフォルトの名無しさん
2006/11/23(木) 13:14:19あと、sys.argv[0]でなくて、__file__ だけで実行中のスクリプトファイルのパスが得られる。
0318デフォルトの名無しさん
2006/11/23(木) 13:15:250319デフォルトの名無しさん
2006/11/23(木) 13:16:21冗長。タコ。厨房。Rubyでも書いてろ。
>>317
Pythonic!!!
0320デフォルトの名無しさん
2006/11/23(木) 13:16:57知ってる。感謝祭だ。
0321デフォルトの名無しさん
2006/11/23(木) 13:17:52休日もパイソンパイソン
0322デフォルトの名無しさん
2006/11/23(木) 13:19:390323デフォルトの名無しさん
2006/11/23(木) 13:23:510324デフォルトの名無しさん
2006/11/23(木) 13:24:220325デフォルトの名無しさん
2006/11/23(木) 13:42:270326デフォルトの名無しさん
2006/11/23(木) 13:49:130327デフォルトの名無しさん
2006/11/23(木) 13:51:070328デフォルトの名無しさん
2006/11/23(木) 14:07:32えええええええええ
0329デフォルトの名無しさん
2006/11/23(木) 14:18:26Zopeの次はDjango?仲間割れの演出必死だな(www
0330デフォルトの名無しさん
2006/11/23(木) 14:20:190331デフォルトの名無しさん
2006/11/23(木) 14:28:49Django普通に盛り上がってるじゃん。いいことだよ。
過剰反応すると、キチガイのZOPE関係者(実績露出皆無)であることがばれてしまうから
気をつけた方がいいですよ。○○○さん。
0332Python初心者(復活)
2006/11/23(木) 14:42:55Many Tks.
*が可変個の引数をとることは知っていましたが
関数の前に付ける意味が良く分からなかったのです。
>>292
>あと、evalとか意味わかんないで使ってるんだろうけど、そのevalは
>全然意味無い
for x in zip(*[line.split() for line in file('input.txt')]):
print x
Oh No!これで全然問題無く動くじゃないですかぁ。
おぅい!前スレの
>>715,717
restrip()もeval()も必要ないってさぁ。
まさか?
>evalとか意味わかんないで使ってるんだろうけど
なんてことはないよねぇ?(w
ーーーーーーーーーーーーー
715 :デフォルトの名無しさん :2006/11/03(金) 13:55:57
>>712
[line.rstrip().split() for line in file('input.txt')]
717 :デフォルトの名無しさん :2006/11/03(金) 15:10:30
>>712
別にprintを使うなとは誰も言ってない
for x in zip(*eval(>>715)):
print x
==============
0333デフォルトの名無しさん
2006/11/23(木) 14:47:150334デフォルトの名無しさん
2006/11/23(木) 14:49:190335デフォルトの名無しさん
2006/11/23(木) 14:51:400336デフォルトの名無しさん
2006/11/23(木) 14:52:080337デフォルトの名無しさん
2006/11/23(木) 15:03:30>Zope関係者はDjangoコミュニティの仲間割れを画策しているの?
サークルクラッシャーかよ(WWWW
0338デフォルトの名無しさん
2006/11/23(木) 15:49:00Zopeのユーザー会と同じ日にDjangoが勉強会ぶつけてきたから
恨みに思っているのかな?
Zope関係者って怖いな!!!
0339デフォルトの名無しさん
2006/11/23(木) 16:15:000340デフォルトの名無しさん
2006/11/23(木) 16:22:18PHPにでも任せておけば?と思う今日このごろ
0341デフォルトの名無しさん
2006/11/23(木) 16:25:000342デフォルトの名無しさん
2006/11/23(木) 16:27:13なんだこの対立構図は(WWW
ZOPEは死に体なのでDjangoの対抗になんてなり得ないだろ(WWWWWWWWW
>>340
まあ過剰反応している人は基地外なので放っておきましょう
0343前スレ717
2006/11/23(木) 17:27:13>Oh No!これで全然問題無く動くじゃないですかぁ。
>おぅい!前スレの
>>>715,717
>restrip()もeval()も必要ないってさぁ。
それはね、他人のレス内のコードを自分のコード内に取り込むには
イキナリ>>715で参照するのはなんとなくperlっぽい無秩序な感じがする。
ここはpythonぽく他人のレス=文字列と捉えてevalをしよう
っていう冗談だったんだよ。
ちなみに関数の前の*は、単に関数の返り値に対して*を付けるのと
一緒。だからこの場合は*[line.split() for line in file('input.txt')]
という付け方に等しくなる
0344デフォルトの名無しさん
2006/11/23(木) 18:05:09下のプログラムでhogehogeと表示されるにはどうすればいいのでしょうか?
class Test :
def printHoge(self) :
print "hogehoge"
def __init__(self) :
print "hoge1"
self.printHoge
hoge = Test()
0345344
2006/11/23(木) 18:09:050346デフォルトの名無しさん
2006/11/23(木) 20:34:22まず、インデントを付ければいいんじゃないかな。
0347デフォルトの名無しさん
2006/11/23(木) 20:38:410348デフォルトの名無しさん
2006/11/23(木) 20:54:12初心者乙
0349デフォルトの名無しさん
2006/11/23(木) 21:09:280350デフォルトの名無しさん
2006/11/23(木) 21:10:45の
>>の後には何を持ってくればOKなんですか?
0351デフォルトの名無しさん
2006/11/23(木) 21:14:52愛。
うふふ。
0352デフォルトの名無しさん
2006/11/23(木) 21:16:52愛の入力方法がわかりません。
とりあえず漢字・英語・平仮名・片仮名は試したんですが・・・
どうすればいいでしょうか?
0353デフォルトの名無しさん
2006/11/23(木) 21:19:10勉強して出直してらっしゃい。
0354デフォルトの名無しさん
2006/11/23(木) 21:29:13そういうときはコピペが基本だと思う
0355デフォルトの名無しさん
2006/11/23(木) 21:39:090356デフォルトの名無しさん
2006/11/24(金) 07:47:27どれをどう使えばいいんですか?
0357デフォルトの名無しさん
2006/11/24(金) 07:52:34チンコを使え
0358デフォルトの名無しさん
2006/11/24(金) 08:11:130359デフォルトの名無しさん
2006/11/24(金) 12:37:14ファイルオブジェクトと同様の write() メソッドがあるオブジェクトなら何でも可だと思われ。
0360Python初心者(復活)
2006/11/24(金) 12:41:25>冗談だったんだよ。
遅まきながら…wwwwwwwww
0361デフォルトの名無しさん
2006/11/24(金) 13:00:230362デフォルトの名無しさん
2006/11/24(金) 13:03:01・人に情けをかけておくと,巡り巡って結局は自分のためになる
・人に情けをかけて助けてやることは,結局はその人のためにならない
選ぶのは君だw
0363デフォルトの名無しさん
2006/11/24(金) 14:48:20勉強して出直してらっしゃい。
ふふふ。
0364デフォルトの名無しさん
2006/11/24(金) 14:56:030365デフォルトの名無しさん
2006/11/24(金) 15:09:550366デフォルトの名無しさん
2006/11/24(金) 15:15:57http://blog.livedoor.jp/dankogai/archives/50696206.html
この問題、もっとスマートに解決することはできないもんでしょうか?
0367デフォルトの名無しさん
2006/11/24(金) 15:25:46そもそも0x10000を超えるUnicode(滅多に使わないけど)の扱いが不完全なのが原因
おそらくPython 3000で解決する
0368デフォルトの名無しさん
2006/11/24(金) 15:27:060369デフォルトの名無しさん
2006/11/24(金) 15:30:06ちゃんとサポートされれば素晴らしいと思うが、今のところ必要としているのは
言語学者と京極夏彦くらいだろう。w
0370デフォルトの名無しさん
2006/11/24(金) 15:36:48ここは Perl に合わせるならこうだろうなあ。
import codecs, sys; sys.stdout = codecs.getwriter("utf-8")(sys.__stdout__)
0371デフォルトの名無しさん
2006/11/24(金) 16:17:07・site.pyに encoding = "utf-8" って書け
・unichr()でBMP外の文字使いたけりゃ--enable-unicode=ucs4 でconfigureしろ
って教えてあげたほうがいいのかな。
0372デフォルトの名無しさん
2006/11/24(金) 16:22:04>・site.pyに encoding = "utf-8" って書け
あわわわわ。
0373デフォルトの名無しさん
2006/11/24(金) 16:23:36>>> utf32chr(0x2A6B2)
u'¥U0002a6b2'
0374デフォルトの名無しさん
2006/11/24(金) 16:50:50http://www.python.jp/Zope/PyLog/PyLog/1164123776/1164341843/ [python.jp]
ここは、Lightweight Language(Perl,Python,Ruby,PHP)ユーザーを巻き込んで開催したいと思います。
0375デフォルトの名無しさん
2006/11/24(金) 18:46:24pythonのCGIHTTPServerのCGIの処理ってどうしてるんだろう?
同じCGIを複数の人がリクエスト出した場合内部でマルチスレッドで処理してるの?
それともキュー?
どこを見ればわかるの。
0376デフォルトの名無しさん
2006/11/24(金) 18:47:46ソースコード。
0377375
2006/11/24(金) 19:00:48% cat -n /usr/local/lib/python2.4/CGIHTTPServer.py | grep fork
6 If the os.fork() function is not present (e.g. on Windows),
43 have_fork = hasattr(os, 'fork')
128 if not (self.have_fork or self.have_popen2 or self.have_popen3):
204 if self.have_fork:
205 # Unix -- fork as we should
210 self.wfile.flush() # Always flush before forking
211 pid = os.fork()
0378デフォルトの名無しさん
2006/11/24(金) 19:03:260379デフォルトの名無しさん
2006/11/24(金) 21:13:490380デフォルトの名無しさん
2006/11/24(金) 22:39:38fctrl.flock()とfctrl.lockf()はファイルオブジェクトではなくファイル記述子を使うものであり、Unixでは使えるけどWindowsで使えるかは不明。
os.open()も第2引数でオプションフラグを指定できるみたいだけど、そのオプションフラグについてはマニュアルにも詳しいことは書いてないし、Windowsでは使えないみたい。
結局、どうすればいいんでしょうか。
0381デフォルトの名無しさん
2006/11/24(金) 22:42:120382デフォルトの名無しさん
2006/11/24(金) 22:56:21ちょうどdictのgetと同じようなものが、listにも欲しい。
>>> lst = [1,2,3]
>>> lst.get(4)
None
0383デフォルトの名無しさん
2006/11/24(金) 23:57:38悩みどころ。
あの領域の漢字は滅多に出会わないから
無駄な領域喰うのもあれだし、コンパイルし直すのも面倒だし。
さりとて使われるとうまくいかない。
0384デフォルトの名無しさん
2006/11/25(土) 01:12:37こんなことしたいの?
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65203
別に止めはしないが時間の無駄だと思うぞ。
0385デフォルトの名無しさん
2006/11/25(土) 01:17:34ないんじゃね?
必要ならlistを継承して作れるけど、可読性が下がる。
0386デフォルトの名無しさん
2006/11/25(土) 01:21:59みたいなことをPython入門(Pythonプログラミング)に書いてあった気がする
0387デフォルトの名無しさん
2006/11/25(土) 06:32:480388デフォルトの名無しさん
2006/11/25(土) 07:20:400389デフォルトの名無しさん
2006/11/25(土) 10:14:41MeCabの最新版とMeCab python bindingを落としてきて、MeCabをインストールして、
MeCab python bindingのsetup.pyは↓のページを参考に書き換えました。
http://www.atransia.co.jp/home/fukamachi/Diary/2006/01/15/
またpythonのバイナリは↓を利用しています。
http://www.python.jp/Zope/download/pythonjpdist
しかし、次のような出力が出てインストールできませんでした。
----ここから
running install
running build
running build_py
running build_ext
error: Python was built with version 6 of Visual Studio, and extensions need to
be built with the same version of the compiler, but it isn't installed.
-----ここまで
普段はVC++を使っているので、VS2003は入っているのですが、VC6は持っていません。
VC6無しにインストールすることってできるのでしょうか。
0390デフォルトの名無しさん
2006/11/25(土) 10:46:45かな?
試してないから分からんけど
マニュアル読んでみて
0391デフォルトの名無しさん
2006/11/25(土) 10:49:54MinGW 使えば本体が VC6 でも大丈夫だと思われ。
0392デフォルトの名無しさん
2006/11/25(土) 11:22:01あくまで一般論だが、プログラムとそれが依存するDLL
の両者がCランタイム(libc)に依存している場合、そのバージョン/変種は
一致していなければならない。
VC6のDLL版のCランタイムはMSVCRT.DLL、VC7.1(VS2003)ではMSVCR71.DLL
なので、当然まずいわけだ。
Pythonを自分でVS2003でビルドするか、いっそCygwin環境でも使うんだね。
0393389
2006/11/25(土) 12:28:30リンクがうまくいってない感じなんですが、コレはもうMecabのスレで聞いたほうがいいかな。
MeCab_wrap.cxxはコンパイル時にキャストミスしてたんで、無理やりキャストした。
0394389
2006/11/25(土) 12:33:43リンクがうまくいってない感じなんですが、コレはもうMecabのスレで聞いたほうがいいかな。
MeCab_wrap.cxxはコンパイル時にキャストミスしてたんで、無理やりキャストした。
0395デフォルトの名無しさん
2006/11/25(土) 17:37:44ctypes使ったやり方のほうが簡単だと思うよ。
ttp://kugutsushi.s12.xrea.com/blog/index.cgi?id=10
俺が試した環境はWinXp, ActivePython2.4+ctypesモジュール
0396デフォルトの名無しさん
2006/11/25(土) 21:08:29ZOPE関係者ってイタいな(wwww
0397デフォルトの名無しさん
2006/11/25(土) 22:29:260398デフォルトの名無しさん
2006/11/25(土) 22:43:240399デフォルトの名無しさん
2006/11/26(日) 00:00:09すぐにT-Shirtsを作るのはどうしてですか?
0400デフォルトの名無しさん
2006/11/26(日) 00:15:220401デフォルトの名無しさん
2006/11/26(日) 00:17:450402デフォルトの名無しさん
2006/11/26(日) 00:18:350403デフォルトの名無しさん
2006/11/26(日) 00:22:590404デフォルトの名無しさん
2006/11/26(日) 00:34:380405デフォルトの名無しさん
2006/11/26(日) 00:55:470406デフォルトの名無しさん
2006/11/26(日) 01:06:000407デフォルトの名無しさん
2006/11/26(日) 02:25:00dict.get()ではなくあくまでdict[]でアクセスしたうえで、KeyErrorのかわりにNoneが返されるようにしたいです。
d = {}
d.__getitem__ = d.get
としてみましたが
AttributeError: 'dict' object attribute '__getitem__' is read-only
とのことで、dictのメソッドは変更できないみたいです。
0408デフォルトの名無しさん
2006/11/26(日) 02:27:030409デフォルトの名無しさん
2006/11/26(日) 03:09:100410デフォルトの名無しさん
2006/11/26(日) 03:39:000411デフォルトの名無しさん
2006/11/26(日) 03:57:22def __getitem__(self,a):
return self.get(a)
でそれっぽい動きしてる気がする。けど、あまりお勧めしたくない感じ・・・
0412デフォルトの名無しさん
2006/11/26(日) 03:58:31dictを継承したクラスを作って使うことはできる。
分かりやすく書くなら、
class MyDict(dict):
def __getitem__(self, k):
return self.get(k)
もしくは、↓でも同様。
class MyDict2(dict):
__getitem__ = dict.get
dictのデフォルトの動作そのものを変えられるわけではないので、
ご期待には添えないかもしれませんが、
使うときは、こんな感じになるでしょう。
>>> MyDict({'x':2})
{'x': 2}
>>> x = MyDict(a=1, b=2)
>>> x
{'a': 1, 'b': 2}
>>> print x["a"], x["b"], x["c"]
1 2 None
こんなんでどうでしょうか。
0413デフォルトの名無しさん
2006/11/26(日) 07:10:59のでしょうか?
https://www.livly.com/login.php
http://d.hatena.ne.jp/kenkitii/20060216/p1 を見ながら色々試して
みたのですがうまくいきません。ご教示お願いできないでしょうか。
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています