Pythonのお勉強 Part16
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/12/14(木) 07:57:54http://www.python.jp/Zope/
http://www.python.jp/doc/release/
http://diveintopython.org/toc/
http://www.python.org/dev/peps/
http://wiki.python.org/moin/
http://python.rdy.jp/
http://www.amazon.co.jp/s/&url=search-alias%3Dstripbooks&field-keywords=Python
http://www.amazon.co.jp/s/&url=search-alias%3Denglish-books&field-keywords=Python
Pythonのお勉強 Part15
http://pc8.2ch.net/test/read.cgi/tech/1163339504/
0446デフォルトの名無しさん
2007/01/05(金) 00:12:06アドバイスありがとうございます。
>>443
順番が重要なのでDictionaryはだめなんです・・・
>>444
keyで比較したかったので・・・
>>445
下のように__eq__を実装してできました。inも__eq__で実装されてるみたいですね。
class node:
def __init__(self, id):
self.id = id
def __eq__(self, other):
return self.id == other.id
l = [node(1), node(2), node(3)]
print node(1) in l
0447デフォルトの名無しさん
2007/01/05(金) 00:33:55順番にアクセスできればいいわけ?
0448デフォルトの名無しさん
2007/01/05(金) 00:41:20nodeのidが小さい順に並べておきたかったんです。
だから新しいノード追加するときはnodeのidが小さい順番に並ぶようにリストにinsert()してます。
辞書だと自分で追加した順番が保てないので・・・
はじめはSet使おうと思ったのですがnodeのような可変オブジェクトを入れられないみたいでだめでした。
0449デフォルトの名無しさん
2007/01/05(金) 00:42:22>>> node(1) == node(1)
True
>>> node(1) != node(1)
True
うほっ
0450デフォルトの名無しさん
2007/01/05(金) 00:43:230451デフォルトの名無しさん
2007/01/05(金) 00:56:11setに入れるなら__hash__を定義する必要がある。(これも順番は保てないが)
class Node:
def __init__(self, id):
self.id = id
def __hash__(self):
return hash(self.id)
def __cmp__(self, that):
return cmp(self.id, that.id)
s = set()
s.add(Node(1))
s.add(Node(2))
print Node(1) in s
print Node(3) in s
0452デフォルトの名無しさん
2007/01/05(金) 02:10:39お前どこの出身だッ、その方言は聞いたことがある
よもや愛知県三河地方ではあるまいな
0453デフォルトの名無しさん
2007/01/05(金) 02:47:370454デフォルトの名無しさん
2007/01/05(金) 05:22:46PHPのdecbin()に相当する関数を持つモジュールがあればいいのですが。
http://jp.php.net/manual/ja/function.decbin.php
0455デフォルトの名無しさん
2007/01/05(金) 09:48:38bisectモジュールが役立つ鴨。
import bisect
class Node:
def __init__(self, id):
self.id = id
def __cmp__(self, other):
return cmp(self.id, other.id)
def __repr__(self):
return "<Node#%d>" % self.id
def insert(a, x):
i = bisect.bisect_left(a, x)
if a[i] == x:
raise ValueError, "already there"
a.insert(i, x)
def contains(a, x):
i = bisect.bisect_left(a, x)
return i < len(a) and a[i] == x
nodes = [Node(1), Node(3), Node(5)]
print contains(nodes, Node(2))
insert(nodes, Node(2))
print contains(nodes, Node(2))
0456455
2007/01/05(金) 09:54:38if i < len(a) and a[i] == x:
raise ValueError, "already there"
0457デフォルトの名無しさん
2007/01/05(金) 12:22:04dictにしといて
使うときに、sorted(dict.values(), lambda x, y:x.id - y.id)で、番号順にすればいいと思う。
0458デフォルトの名無しさん
2007/01/05(金) 12:34:38自分の意見というか、matzがpythonのことおもちゃ言語っていう
根拠のひとつでもあるんじゃないの?たぶん、
cの構造体ポインタにあたるものが見えちゃってるみたいな
0459デフォルトの名無しさん
2007/01/05(金) 12:47:060460デフォルトの名無しさん
2007/01/05(金) 13:33:13でも実際はRubyの方がよほどオモチャな件
0461デフォルトの名無しさん
2007/01/05(金) 14:00:49Python厨とRuby厨が仲直りするスレッド
http://pc10.2ch.net/test/read.cgi/tech/1099804004/
0462デフォルトの名無しさん
2007/01/05(金) 14:04:240463デフォルトの名無しさん
2007/01/05(金) 14:26:080464デフォルトの名無しさん
2007/01/05(金) 14:27:48この機能煽るネタ提供するだけだな
0465デフォルトの名無しさん
2007/01/05(金) 14:50:21>>452-453
愛知の田舎に10年ほど住んでたもんでかんわ。たまに三河弁が口をついて出るw
0466デフォルトの名無しさん
2007/01/05(金) 15:06:050467デフォルトの名無しさん
2007/01/05(金) 15:59:570468デフォルトの名無しさん
2007/01/05(金) 16:01:32PC初心者は(・∀・)カエレ!!
0469デフォルトの名無しさん
2007/01/05(金) 16:09:35Python初心者の♀です。
0470デフォルトの名無しさん
2007/01/05(金) 16:17:370471デフォルトの名無しさん
2007/01/05(金) 16:21:372007年の話としてはおかしいよな...
( ゚д゚ )ハッ! 98才のときに始めてから5年のハカーばあさん!?
0472デフォルトの名無しさん
2007/01/05(金) 16:27:510473デフォルトの名無しさん
2007/01/05(金) 16:29:270474デフォルトの名無しさん
2007/01/05(金) 16:52:390475デフォルトの名無しさん
2007/01/05(金) 17:51:56「そこは『コンピューターおばあちゃん』だろうが!」
と咄嗟に思う世代。
0476デフォルトの名無しさん
2007/01/05(金) 18:28:51【AoE3】Age of Empires III 第76幕【TWC】 [PCゲーム]
アニメキャラ・バトルロワイアル感想雑談スレ8 [アニキャラ総合]
◆ ポルトガル語・総合スレッド 10 ◆ [外国語]
【MU】マヤ鯖攻城戦専用晒しスレpart10 [ネットwatch]
おい、魔王様階級ども!バンバンどうですか? [バイク]
(,,゚Д゚).o0(Pythonユーザって・・・・・・・・)
0477デフォルトの名無しさん
2007/01/05(金) 18:34:07そんなの問題にならないくらいキモいスレに行きまくってるから
心配すんな。
0478デフォルトの名無しさん
2007/01/05(金) 19:03:27で、質問はなに? 待ちくたびれてきた。
0479デフォルトの名無しさん
2007/01/05(金) 19:22:08サイトマップを生成し、サイト内にyahoo,google,msnで採用された
登録用のサイトマップファイルを作ると言うものです。
1. python 用の実行プラグラムファイル、と
データ用のファイルを作り
自分のレンタルサーバの中のCGIフォルダの中にアップロードしました。
2. この後なのですが、サーバー内の python2.2 に実行コマンドを出し
python2.2を実行させると書いてあるのですが、
どうやって、実行コマンドをサーバー内の python2.2 に出すのか分かりません。
説明には ssh 等を使ってと書いてあるのですが。
使用しているサーバーのOSは unix です。
よろしくお願いします。
0480デフォルトの名無しさん
2007/01/05(金) 19:38:14要するに、このへんの話なのかな?
俺はやろうと思ったことがないので知らないが。
http://www.google.co.jp/support/webmasters/bin/answer.py?answer=34636&topic=8517
0481デフォルトの名無しさん
2007/01/05(金) 19:42:40sshでログインしてプロンプトから
%cd 目的のフォルダ
%python 目的のスクリプト
0482デフォルトの名無しさん
2007/01/05(金) 19:56:53http://safe-linux.homeip.net/seo/Google_sitemap_gen-03.html
で触れられている sitemap_gen.py ていうもののこと?
0483482
2007/01/05(金) 20:04:32しょうがないので、sitemap_gen.py でぐぐってみたら、
なにか情報得られるかもと、お茶を濁して去っていく。
http://www.google.com/search?client=opera&rls=ja&q=sitemap_gen.py&sourceid=opera&ie=utf-8&oe=utf-8
0484デフォルトの名無しさん
2007/01/05(金) 21:01:49(-_-;)ウー
0485デフォルトの名無しさん
2007/01/05(金) 21:05:400486デフォルトの名無しさん
2007/01/05(金) 21:48:150487デフォルトの名無しさん
2007/01/05(金) 21:51:18ってのがどこなのか(サイトなのか本なのか)書いた方がいいね。
他の人が貼ってるリンク先そのものだったら、貼ってもらった手間が無駄になる。
0488デフォルトの名無しさん
2007/01/05(金) 22:00:58https://www.google.com/webmasters/tools/docs/ja/sitemap-generator.html
>サイトマップ生成ツールを実行するには、ウェブ サーバーに接続する必要があります。
>接続環境により、サーバーへの接続方法は異なります。 たとえば、Unix ベースのサーバーの場合は、通常 SSH を使用して接続します。
0489デフォルトの名無しさん
2007/01/05(金) 22:17:10このサイトの情報が参考にならない?
http://www.vinapark.com/society/modules/news/article.php?storyid=113
ただね、はっきりいうとPythonももちろん関係はあるものの、
xmlとかそっち方面の知識の方が必要なんじゃない?
中途半端な知識じゃ、無理だと思う。
xmlなんて、僕も知らないしorz
しかもPythonの文法もなにも分からないということとなると、
絶望的に難しいと思うなー。
0490デフォルトの名無しさん
2007/01/05(金) 22:20:500491デフォルトの名無しさん
2007/01/05(金) 22:25:260492デフォルトの名無しさん
2007/01/05(金) 22:37:20リモートログインしてスクリプト走らせるだけの話じゃないのか・・・?
自動更新にしたいなら、cronしこむなりすればいいんじゃ
0493デフォルトの名無しさん
2007/01/05(金) 22:52:250494デフォルトの名無しさん
2007/01/05(金) 22:54:100495デフォルトの名無しさん
2007/01/05(金) 22:59:30@@@@@ ∩
6 -ω-ノ 彡
(⊇ ⊂彡☆))д´)>>494
0496デフォルトの名無しさん
2007/01/05(金) 23:02:25リモートログイン ssh
http://www.google.com/search?client=opera&rls=ja&q=%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3+ssh&sourceid=opera&ie=utf-8&oe=utf-8
そもそもPython をどうこういう前に、もうちょっと基本の知識が必要だと思うよ。
Python 動かせても、自分のサイトに合わせた xmlを用意しないといけないはず。
xml分る?
どっかそういう基本的知識を得られるまとめサイトはないのかね?
だれか知らない? ここはPython のスレだし。
プラットフォームはunix というけど、それはサーバの話で、
あなたのマシンはwindows?
その状況で、日常unixを使っているとは思えない…。
あー、mac osx ならありえるか…。
0497デフォルトの名無しさん
2007/01/05(金) 23:09:06もうググリ真下。
すみません。
xmlはあっぷしました。
0498デフォルトの名無しさん
2007/01/05(金) 23:11:300499デフォルトの名無しさん
2007/01/05(金) 23:18:220500デフォルトの名無しさん
2007/01/05(金) 23:33:58俺はHomePageBuider を使うようになってから、
リモートログインなんて、忘れちまったよw
昔は、telnetで入ってviでmlのログの管理とか
してたんだけどな。
最初はftpを知らなくてさw ずっとtelnetでviしてた。
viのクソぶりには泣けたなぁ。
誰か、unixに秀○を移植してくれ、と思ったよ。
って、ここなんのスレよ!
0501デフォルトの名無しさん
2007/01/05(金) 23:46:100502デフォルトの名無しさん
2007/01/06(土) 02:52:340503デフォルトの名無しさん
2007/01/06(土) 10:10:41ガッ
0504デフォルトの名無しさん
2007/01/06(土) 12:53:47ぬ、ぬるぽどこッ?!
0505デフォルトの名無しさん
2007/01/06(土) 12:54:30def decbin(b):
s = ""
if b > 1 : s = decbin(b>>1)
return s + "01"[b&1]
0506デフォルトの名無しさん
2007/01/06(土) 13:26:47Pythonの話じゃないな
>474 の法則は正しいかもしれない。
0507デフォルトの名無しさん
2007/01/06(土) 15:54:04ガッ
0508デフォルトの名無しさん
2007/01/06(土) 16:24:37> アニメキャラ・バトルロワイアル感想雑談スレ8 [アニキャラ総合]
> ◆ ポルトガル語・総合スレッド 10 ◆ [外国語]
> 【MU】マヤ鯖攻城戦専用晒しスレpart10 [ネットwatch]
> 【転職】−転職板@何でも質問所− その65 [転職]
今日は転職らしい
0509デフォルトの名無しさん
2007/01/07(日) 03:07:14htmlに含まれる表を配列に起こすプログラムを教えてください。
0510デフォルトの名無しさん
2007/01/07(日) 04:26:03import HTMLParser, urllib
class Parser(HTMLParser.HTMLParser):
def __init__(self):
HTMLParser.HTMLParser.__init__(self)
self.tables = []
self.data = None
def handle_starttag(self, tag, attrs):
if tag == "table":
self.tables.append([])
elif tag == "tr":
self.tables[-1].append([])
elif tag in ["th", "td"]:
self.data = ""
def handle_endtag(self, tag):
if tag in ["th", "td"]:
self.tables[-1][-1].append(self.data)
self.data = None
def handle_data(self, data):
if self.data is not None:
self.data += data
file = urllib.urlopen("http://www.python.org/doc/lib/typesseq.html")
parser = Parser()
parser.feed(file.read())
parser.close()
for n, table in enumerate(parser.tables):
for i, row in enumerate(table):
for j, data in enumerate(row):
print 'table #%d (%d, %d) => "%s"' % (n, i, j, data)
0511デフォルトの名無しさん
2007/01/07(日) 04:33:55>>510のプログラムはもっとも単純な表を想定している。
複数行(複数列)にわたるセルがあっても何もしないし、
表の中に表が現れると破綻する。実体参照も無視してる。
文字コードも関知しない。あくまで参考程度に。
0512509
2007/01/07(日) 04:47:340513デフォルトの名無しさん
2007/01/07(日) 08:28:400514デフォルトの名無しさん
2007/01/07(日) 14:23:140515デフォルトの名無しさん
2007/01/07(日) 15:28:05kwsk
0516デフォルトの名無しさん
2007/01/07(日) 16:04:05ゆえに日本語データが処理できない
0517デフォルトの名無しさん
2007/01/07(日) 16:23:41日本語データでも処理できてるし
0518デフォルトの名無しさん
2007/01/07(日) 16:52:40みたいなのもイケるの?
ドキュメント見たけど、自分で実装するのと比べて
大したことはやってくれないよね、これ…
0519デフォルトの名無しさん
2007/01/07(日) 17:20:310520デフォルトの名無しさん
2007/01/07(日) 18:43:22↓
('A`)ヴァー という顔をしつつ、
内心 python+csvモジュールで楽勝(゚∀゚)
すでに定時帰宅ムード
↓
使い方忘れてるので
読んで吐き出すだけのコードを書いてみる
日本語もOKなご様子
↓
問題ないので本格的に書く
↓
動かしてみたら期待通りに行かない
なんでunicodeでないのでありますか。こやつ。
↓
モジュールを直そうと思うがC実装
↓
やっぱ自分のソースを直す
↓
あ、あれ?残業?!
0521デフォルトの名無しさん
2007/01/07(日) 19:17:21ちゃんと整備されていないとはどういうこっちゃ。
0522デフォルトの名無しさん
2007/01/07(日) 19:22:49多分、csv の方言が多すぎるからだろ。
csv の標準が規定されているのかどうか知らんが、
例え規定されていたとしてもそれに従っていないモノが多すぎるんだろ。
0523デフォルトの名無しさん
2007/01/07(日) 21:15:20> >>521
> 多分、csv の方言が多すぎるからだろ。
> csv の標準が規定されているのかどうか知らんが、
> 例え規定されていたとしてもそれに従っていないモノが多すぎるんだろ。
んだんだ。CSVは「Excelが読み書きできる」のが事実上の標準になっている状況だし。
RFC4180が2005年10月に公開されてるけど、まだ一般的ではないよね。
http://www.rfc-editor.org/rfc/rfc4180.txt
http://www.kasai.fm/wiki/rfc4180jp
0524デフォルトの名無しさん
2007/01/07(日) 21:25:45十年前でも遅いと思うが、2005年10月かよ。
0525デフォルトの名無しさん
2007/01/07(日) 21:32:31( ゚д゚)ハッ! XML-CSVブリッジ!?
0526デフォルトの名無しさん
2007/01/07(日) 21:35:01XMLがブレイクしだした時にその手のコンバータって山ほど作られていると思うけど。
0527デフォルトの名無しさん
2007/01/07(日) 21:38:50話を聞かないってことは流行んなかったんだよなきっと
0528デフォルトの名無しさん
2007/01/07(日) 21:42:29そりゃ csv 側に方言があり過ぎるから、みんな自分の用が足せる
コンバータをちょろちょろって書いておしまいだからだろ。
0529デフォルトの名無しさん
2007/01/07(日) 21:50:322.4のときは無かったような〜。。。
csv モジュール、前は Python で書いてあったが
高速化のためにC実装になったと記憶している。
方言うんぬんより、このC実装の書き換えが大変なのだと思う。
文字列処理周りはバグとセキュリティホールの宝庫だし。
Pythonコード で書いてあれば codecs を通すだけで済むはず。
ElementTree も一癖あるので注意が必要(((´・ω・`)カックン…
0530デフォルトの名無しさん
2007/01/07(日) 22:16:27誰も守りません(w
0531デフォルトの名無しさん
2007/01/07(日) 23:13:380532デフォルトの名無しさん
2007/01/08(月) 00:03:01エクセルにコピーして csv で書き出せば、html中の表を
配列に入れられるだろ といったことからだから、
むしろエクセル準拠のcsvでなければダメなんじゃない?
0533デフォルトの名無しさん
2007/01/08(月) 00:25:14セパレート文字列,改行コード,クォートの設定など.
で,デフォルトで使われるdialectはExcel準拠になってる.
Windows使いの人から渡されるExcelのCSVファイルを処理するプログラムを
最近作った.別に問題なく読めた.ちなみにPython2.4
0534デフォルトの名無しさん
2007/01/08(月) 01:52:08「"」文字中の「"」文字はカンマと隣合っていないと文字列終端としない、
等等の訳ワカメ仕様を実装することになる。
そういう所は、CSV出力を考慮してちゃんとエスケープして欲しいんだよねぇ…。
そんな事を考えつつ詳細設計にEBNFを載せつつ実装をしてたら、レビュー時に
「えっ、そんな難しく考えちゃってるの?」、という突込みが。
一応弁解はしたが、分かってくれたか疑問。こんなことで仕事できない奴と思われたくない罠w
0535デフォルトの名無しさん
2007/01/08(月) 01:58:34>◆ ポルトガル語・総合スレッド 10 ◆ [外国語]
>【PodCast】アキバ系!電脳空間カウボーイズ [プログラマー]
>【転職】−転職板@何でも質問所− その65 [転職]
おまえら器がでかいな。
0536デフォルトの名無しさん
2007/01/08(月) 01:59:200537デフォルトの名無しさん
2007/01/08(月) 02:15:54プログラム経験浅いんで、CSV=ダメ形式っていう認識しかないんだけど・・・
0538デフォルトの名無しさん
2007/01/08(月) 02:17:09それ以外の一般にはCSVは普通に使われるよ
0539デフォルトの名無しさん
2007/01/08(月) 02:25:010540デフォルトの名無しさん
2007/01/08(月) 02:37:07専ブラ使ってる連中は集計されない。
Webブラウザ利用者と専ブラ利用者の間では
性格・行動に違いがあるから何とも云えん。
0541デフォルトの名無しさん
2007/01/08(月) 03:00:25これからはdat落ちしたら●を買わないとログは見れないと。
あまり期待しないでこれ張って寝る
http://tmp6.2ch.net/test/read.cgi/download/1167375249/
0542デフォルトの名無しさん
2007/01/08(月) 03:29:10かといって総合的にそのcsvの代わりとなるうるものが存在しないのもまた事実。
0543デフォルトの名無しさん
2007/01/08(月) 05:49:390544デフォルトの名無しさん
2007/01/08(月) 05:51:520545デフォルトの名無しさん
2007/01/08(月) 06:02:39TSVとも呼ぶね
■ このスレッドは過去ログ倉庫に格納されています