[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 02/23 23:49 / Filesize : 112 KB / Number-of Response : 432
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part 27



1 名前:デフォルトの名無しさん [2008/06/13(金) 04:22:02 ]
Python オフィシャルサイト
ttp://www.python.org/
ttp://www.python.org/doc/
日本Pythonユーザ会
ttp://www.python.jp/Zope/
ttp://www.python.jp/doc/
FrontPage - Pythonのお勉強
ttp://python.rdy.jp/
前スレ
pc11.2ch.net/test/read.cgi/tech/1209480428/
◆関連スレッド
Microsoft IronPython 1.0
pc11.2ch.net/test/read.cgi/tech/1157686822/
Python の宿題ここで答えます Part 1
pc11.2ch.net/test/read.cgi/tech/1153585095/
Python Challengeをやろう!
pc11.2ch.net/test/read.cgi/tech/1175919288/
Pythonについて(アンチ専用)
pc11.2ch.net/test/read.cgi/tech/1203557046/
Pythonに見られるインデントによる制御構造の是非
pc11.2ch.net/test/read.cgi/tech/1169473442/
pythonがこの先生きのこるには
pc11.2ch.net/test/read.cgi/tech/1167996371/
Eclipse統合M25【Java/C/PHP/Ruby/Python/Perl】(PyDev)
pc11.2ch.net/test/read.cgi/tech/1211505494/
【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1209289408/
デザパタ + Python/Ruby/Smalltalk part2
pc11.2ch.net/test/read.cgi/tech/1175959706/
2ch検索: [python]
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python

152 名前:151 mailto:sage [2008/06/17(火) 11:36:36 ]
あほだ…while抜け取るやん…orz

153 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:47:29 ]
>>148
def collatz(n):
 while n > 1:
  yield n
  n = n % 2 and 3*n + 1 or n/2

>>> f = collatz(13)
>>> f.next()
13
>>> f.next()
40
>>> [x for x in f]
[20, 10, 5, 16, 8, 4, 2]

return [リスト]
っぽいけど操作すると要素が消費されてくのね…
部分リストを、返せば計算過程が

[[13],[13,40],[13,40,20],[13,40,20,10],…]
>>> t_colltz(13)
13
13 -> 40
13 -> 40 -> 20
13 -> 40 -> 20 -> 10

便利?

154 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:14:06 ]
>>> for i, x in enumerate(collatz(13)):
print x[:i+1]
[13]
[13, 40]
[13, 40, 20]
[13, 40, 20, 10]
[13, 40, 20, 10, 5]
[13, 40, 20, 10, 5, 16]
[13, 40, 20, 10, 5, 16, 8]
[13, 40, 20, 10, 5, 16, 8, 4]
[13, 40, 20, 10, 5, 16, 8, 4, 2]

StopIteration で最終項 x[:8+1].append(1)を
返すとか可能かな?

155 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:42:35 ]
>>153
相変わらずよくわからんが
def holder(seq):
    l = []
    for x in seq:
        l.append(x)
        yield l[:]
こんな感じのを作れば任意のイタレータを追跡できるんじゃね
効率悪そうだけど

>>> for x in holder(xrange(10)):
... print x
...
[0]
[0, 1]
[0, 1, 2]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6]
[0, 1, 2, 3, 4, 5, 6, 7]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


156 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:11:05 ]
>>155
codepad.org/ftT9hMVc

こんなかんじで f = iter(seq) でパックしつつ

順序が重視される並び(たとえばトランプの手札)を
用意して
それに外部から操作する関数 def 人名_gnext(): で
操作したら

わかりやすくならないかな…グローバル変数
操作するのと対して変わらないか…

157 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:39:47 ]
>>144
ジェネレータのyield自体はreturnとほとんど意味は同じ。
next()が呼ばれるとyieldのところから実行が再開される。
(yieldを書くとnext()は勝手に作成される)

ジェネレータの中でループ使ってないと、あまり意味はない。
無限ループからyieldで値を返すと、無限数列が作れる。

158 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:18:52 ]
>>144
入門書嫁。

159 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:43:31 ]
Pymacs 入れようと思ったんですが、pymacs-servicesが見つかりません
どこですか?

160 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:50:40 ]
pymacs-0.23です



161 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:31:56 ]
Pythonってクールですね

162 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:51:12 ]
Pythonってコールドですね

163 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:54:50 ]
162だけがコールドですね。

164 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:02:53 ]
僕のPythonもクールダウンしそうです

165 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:10:09 ]
>>164
単三電池でウォームアップすれば?
ところでみんなアッー!温泉行く?


166 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:17:48 ]
python 開発の歴史をビジュアル化したものだそうです

www.vimeo.com/1093745

2000年ごろとか Google 移籍辺りでドーンと来てるね

167 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:52:39 ]
コミットを視覚化してるのか、面白いね

168 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:05:05 ]
離れてってるのもあるのが微妙

169 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:07:16 ]
この効果音あんまり好きじゃない

170 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 15:50:16 ]
>>166
GJ



171 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:18:27 ]
Batteries Inserted

172 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:08:23 ]
話題に乗るのが2,3日遅くね?

173 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:17:45 ]
電池挿入済みの哲学ですね。わかります

174 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:22:40 ]
このスレを見ている人はこんなスレも見ています。(ver 0.20)
【batteries】電池☆挿入【inserted】[ガチホモ]

175 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:45:06 ]
自己解決しました

176 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:40:43 ]
自己挿入しました。

177 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:19:24 ]
^ ~ ってなんの演算子?

178 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:32:38 ]
>>177
ttp://www.python.jp/doc/release/lib/bitstring-ops.html

179 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 01:42:07 ]
ttp://d.hatena.ne.jp/odz/20061119/1163971267#20061119fn1

いい加減なんだってさ

180 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 02:01:32 ]
そもそも比較なんていい加減なもんだろ
微妙に方向違うんだから完璧に正しく比較なんてむりだ



181 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 02:08:27 ]
変数名の面白さを比較するんですね わかります


182 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 03:25:22 ]
>>179
内容は、揚げ足とるだけで終わっているね

183 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 03:56:23 ]
ちょっとききたいんですが。
Python2.5ライセンスのBの3を見ると、
>Python2.5を改変して使う場合は変更点の要約を配布物に含めよ
みたいなことがかいてあるけど、たとえばPythonのソースに手を加えて
改造版Python25.dllをつくってアプリに組み込んだとすると、
具体的にどこを改造したのかドキュメント化(もしくはソース添付)しないといけないってこと?



184 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:33:29 ]
うん

185 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:53:26 ]
>>179
「はじめてのPython」の著者じゃん(wwww
糞本の作者だけあって、便所の落書きも糞だな(wwwwwwwwww

186 名前:デフォルトの名無しさん mailto:age [2008/06/20(金) 10:17:51 ]
2.6b1 & 3.0b1 release age

3.0はモジュール名の大改修が行われてて、2.xからの移行が大変そうだ……

187 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 11:24:00 ]
それは、オリジナルの Python25.dll をつかってさえいれば、
なにも書く必要は無いってこと?

188 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 11:58:10 ]
>>186
っ2to3

189 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:35:10 ]
>>188
構文はそれでだいたいいけるとして、
ライブラリの再編まで追従してくれるのん?

つか初βだし、そろそろ2to3使ってみるかな

190 名前:デフォルトの名無しさん [2008/06/20(金) 13:19:10 ]
関数(メソッドじゃなくてインデント0のdef)が、頭大文字の名前で定義されてるのを見たんだけど、
これは慣習的にどういう意味を持つの?
ついでに、メソッドの場合は?



191 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:48:34 ]
関数名が大文字で始まるのはMicrosoftのAPIなんかがそうだな

192 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:55:28 ]
wxPythonなんか使ってる場合もそうだな

193 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:36:43 ]
functional
でいろいろ楽ができそうなんだけど
検索してもあんまり情報でてこない

ひょっとして3.0で大幅に変わったりするの?

194 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:59:15 ]
なんのこと?

195 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:26:11 ]
www.ibm.com/developerworks/jp/linux/library/l-prog3/

196 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:36:19 ]
3.0との接点がなさそうだが

197 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:05:53 ]
for i in range(1, len(ss)):

range()は数列の配列を返すんだからfor文中でssをいじってもループ回数は変わらない・・・
で合ってますか?

198 名前:190 mailto:sage [2008/06/21(土) 01:13:28 ]
>>191,>>192
つまり、関数やメソッドの名前をCamelCaseにするかsnake_caseにするかは、
定着した慣習はなく、書く人の好みと言うこと?

俺が見たCamelCaseの名前で関数を定義してるソースは、
Guido本人が書いた可能性もあるソースなんだけど、本人すらカオスってるって事か。

199 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 01:43:18 ]
>>198
具体的にどのソースのことを言っているの?
サンプル数が少ないようならそもそも慣習とは言えないし。

200 名前:190 mailto:sage [2008/06/21(土) 02:07:49 ]
rietveld.googlecode.com/svn/trunk/codereview/engine.py

これっす。
def ParsePatchSet(patchset):とか
def FetchBase(base, patch):とか。



201 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 02:08:14 ]
>>198
PEP 8 -- Style Guide for Python Code
www.python.org/dev/peps/pep-0008/
PEP 7 -- Style Guide for C Code
www.python.org/dev/peps/pep-0007/

202 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 06:55:30 ]
pygletスゲーーーー
SDLいらねーーーー

203 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 08:16:19 ]
pygameの翻訳しろよカス共
neet山もpygame講座の続き書けよ、何年経ってると思ってるんだクソが

204 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 08:45:58 ]
>> 197
range()の引数はすぐに評価されるから、range(1, len(ss))とした時点で 1, 2, ..., len(ss)の配列か、イテレータができちゃう。だからループ内でssを変更しても、forループの対象になってるイテレータは影響を受けないよ。

ssが動的に変わるなら、例えばこうだ。

i = 0
while i<len(ss):
 i+=1
 ...


205 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 09:14:50 ]
197を見てふと次の2つのコードを試してみた

a = 'aaa'
for e in a:
 a += 'b'

a = list('aaa')
for e in a:
 a += 'b'

また1つ賢くなった。

206 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 09:37:11 ]
CraftLaunchのように自作ソフトウェアのマクロとしてPythonを組み込みたいのですがどうすればよいのでしょうか?

207 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 09:44:30 ]
>>206
ttp://www.python.jp/doc/release/ext/embedding.html

208 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 13:33:17 ]
少々スレ違いかもしれませんが。
C++でpython拡張を作成し、setup.pyでビルドしたのですが。

$ cat setup.py
#!/usr/bin/env python
# setup.py
from distutils.core import setup, Extension

module = Extension(
'foo',
sources = ['foo.cpp'],
include_dirs = ['/usr/local/include/'],
library_dirs = ['/usr/local/lib'],
libraries = ['boost_python-mt', 'boost_filesystem-mt']
)

setup(
name = 'Foo',
version = '1.0',
ext_modules = [module],
)

$ ./setup.py build
running build
running build_ext
building 'Foo' extension
creating build
creating build/temp.macosx-10.3-fat-2.5
gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing
-Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic
以下略


209 名前:208 mailto:sage [2008/06/21(土) 13:34:01 ]
最後の行を見てもらうとわかる通り、librariesで指定したライブラリを動的リンクしているのです。
これを静的リンクにするにはどのようにすれば良いのでしょう?
というか、setup.pyでGCCのオプションを設定するにはどのようにすれば良いのでしょうか?

210 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 13:43:05 ]
>>207
ありがとうございます。もう少し調べるべきでした...



211 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 14:41:20 ]
プロンプトのコマンドを2つ同時に行う方法について聞きたいです

サブプロセスでプロンプトを用いてファイルのコピーを行いたいです。
os.systemを用いて行うには、
1、cd "保存先"
2、copy "コピー元のファイル" "コピー先でのファイル"
以上の二つを宣言しなくてはいけないため、実際に自分が考えた方法では
os.system("cd "保存先"")
os.system("copy "コピー元のファイル" "コピー先でのファイル"")
としてしまうと、別々にプロンプトを開いてしまい機能しません。
何か対処法は無いでしょうか?

212 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 14:44:56 ]
os.system("copy "コピー元のフルパス" "コピー先でのフルパス"")

213 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 14:58:37 ]
>>212ありがとうございます。助かります。
pythonではない質問で申し訳ありません。

214 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:06:13 ]
>>211
os.system("cd 保存先") ではカレントディレクトリは変わらないみたいだよ。
os.chdir() を使う必要があると思う。

215 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:44:37 ]
>>214
みたいだよ、というか、変わらない。
子プロセスのCWDが変わって終わり。

自プロセスのCWDを変えるには自プロセスが chdir(2) を
実行しないとダメ。

216 名前:デフォルトの名無しさん [2008/06/21(土) 21:40:12 ]
>>> eval("1")
1
>>> eval("print 1")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
print 1
^
SyntaxError: invalid syntax
>>>


なんで?

217 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 21:41:13 ]
つ exec

218 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 21:46:17 ]
>>211
os.system("cd hoge && copy from to")
とかやってもよい
&&は、一般的なUnixの/bin/shでもWindowsのcmd.exeでも使えるはず

219 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 21:51:30 ]
>>216
入門書嫁
そして式と文の違いを知れ


220 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 00:58:42 ]
>>218
そしてcdに失敗したときに変なところにごみファイルが出来る訳ですね



221 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 00:59:55 ]
>>220
&&の意味分かってる?
python の andと同じでショートサーキットで動く
前のコマンド(cd)が成功しないと、次のコピーは実行されないよ

222 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 01:25:58 ]
set と frozenset の違いって何?
list と tuple みたいなもん?

そういればフローズンバイナリもよくわからないんだけど、これってなんなの?

223 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 02:38:09 ]
>>222
www.google.co.jp/search?q=python+set+frozenset

224 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 02:43:14 ]
setの使い方というか意義自体よう分からん、java知ってる人には便利らしいんだけど

>>222
setとfrozensetの違いは思ったとおりみたい
不可変だとハッシュに使えるの良いんだよ、ってチュートリアルにあった

225 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 06:23:14 ]
>>> L = [1, 2, 3, 1]
>>> list(set(L))
[1, 2, 3]

なんかはたまにする。けどそれ留まり
tupleはデータベースなんかだとlistよりしっくり来る気もする

226 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 08:02:19 ]
たまーに値がダミーでキー・添え字が主体な辞書・配列って見ない?
(たぶん書いてる本人もアホっぽいと自覚してるようなコード)
そういうのはsetで明示的にシンプルに書ける。
まー値の更新なんかタダみたいなもんだから実行コストは変わんないだろうけど。

SQLでいうSELECT DISTINCTだから用途は多いとおもう。

227 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 10:54:34 ]
htmlからリンクを検索するとき、検索済みのURIをsetに入れておいたりするな。

228 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 10:57:58 ]
>>226
setの方が遅いからじゃない?

229 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:17:22 ]
>>228
そんなのは初耳だ
setの実装はハッシュテーブルだからlookupはO(1)のはずだが

勿論重複除去にも使えるが、
if x in foo:
みたいなテストを頻繁にやりたいのなら、setがいいよ
fooがtupleやlistなら、リニアサーチだからO(n)になる
>>227はいい例だな

230 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:48:40 ]
>>226
昔はsetがなかったからだろ



231 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:03:16 ]
fooが辞書ならsetと同じですか

232 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:33:50 ]
>>231
そうだけど、setでいいところにdict使うのは無駄だろ
setならlist, tupleのようなシークエンスやiteratorから直接構築できるしな

233 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:46:23 ]
「任意の文字列」を2文字区切りのデータとして
set に切り出すのは無理ぽ?

>>> C=[u"中華人民共和国"]
>>> def indexing(str):
... S.add(e)
... S.add(e[:2])
... S.add(e[1:3])
... S.add(e[2:4])
... S.add(e[3:5])
... S.add(e[4:6])
... S.add(e[5:7])
...
>>> S.clear()
>>>
>>> for e in C:
... indexing(e)
...
>>> for e in S:
... print e,
...
民共 中華人民共和国 共和 華人 和国 人民 中華

234 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:58:41 ]
こんなのか

def pairs(iterable):
    it = iter(iterable)
    last = it.next()
    for item in it:
        yield last, item
        last = item

print list(''.join(p) for p in pairs("foobar"))

235 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:26:37 ]
ある文字列 'saieunak' を並べ替えて出来る組み合わせを全て挙げるには?

236 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:42:39 ]
def permutation_string(s):
    if len(s) == 1:
        yield s
    for i in range(len(s)):
        for j in permutation_string(s[:i] + s[i+1:]):
            yield s[i] + j

def iset(iterable):
    S = set()
    for i in iterable:
        if i not in S:
            S.add(i)
            yield i

for i in iset(permutation_string("saieunak")):
    print i

237 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:50:49 ]
このほうがいいな。str, list, tuple対応
def permutation(seq):
    if len(seq) == 1:
        yield seq
    for i in range(len(seq)):
        for j in permutation(seq[:i] + seq[i+1:]):
            yield seq[i:i+1] + j

238 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 18:35:37 ]
喜 = ['glad','happy','enjoy']
^
SyntaxError: invalid syntax

python って2バイト文字を識別子に使えない?

239 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 18:51:13 ]
>>238
Python3.0ならできるらしい

240 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 18:55:00 ]
>>238
そんなにスイーツ()関数が作りたいのか



241 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:53:01 ]
>>238
www.python.jp/doc/nightly/ref/identifiers.html

242 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 21:37:16 ]
ついでとして3.0
docs.python.org/dev/3.0/reference/lexical_analysis.html#identifiers-and-keywords

243 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 08:28:49 ]
pythonからシステムのクリップボードにアクセスしたり、文字列を代入したりすることは出来ますか?
OSはubuntu8.04です。よろしくお願いします。

244 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:10:09 ]
はい

245 名前:デフォルトの名無しさん [2008/06/23(月) 11:26:46 ]
>>> a = [ "apple" ]
>>> print a
['apple']

これ,["apple"] みたいに文字列の引用符を
二重引用符にすることってできませんか?
できれば __builtins__.str() にそういう機能があればいいんだけど.

246 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 12:20:31 ]
>>245
できない気がするけどなぜそんなことがしたいの?

247 名前:デフォルトの名無しさん [2008/06/23(月) 13:01:28 ]
>>246
simplejson とかインスコするのが面倒な場面で
JSON を楽に吐きたかった.

Windows で simplejson インスコするの面倒だから.
でも MinGW つかってバイナリパッケージ作った.
だれか必要?

248 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 13:14:21 ]
>>247
docs.python.org/dev/3.0/library/json.html

あ、jsって文字列リテラルが""なのね・・・

>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'

いつの間にか標準ライブラリの Internet Data Handling の所に
追加されてるのな。PEPとかないのか。なんじゃこりゃ

docs.python.org/dev/3.0/whatsnew/3.0.html

249 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 13:15:03 ]
>>244
携帯から失礼
時刻(2008/06/23 12:00のようなフォーマット)をクリップボードにコピーするスクリプトを書こうと思ったのですが、クリップボードにアクセスする方法がわからずになやんでいました。
出来るとのことですが、どのような方法でしょうか?

250 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 13:47:02 ]
>>249こんなんでいいだろ。てかxselでおk

#!/usr/bin/python
import gtk, gobject, sys
if len(sys.argv) == 1 or sys.argv[1] not in ('-i', '-o'):
    print "Usage: clip.py [-i|-o]"
    sys.exit(1)
def f():
    clip = gtk.Clipboard()
    if sys.argv[1] == '-i':
        clip.set_text(sys.stdin.read())
    if sys.argv[1] == '-o':
        sys.stdout.write(clip.wait_for_text())
    gtk.main_quit()
gobject.idle_add(f)
gtk.main()



251 名前:デフォルトの名無しさん [2008/06/23(月) 13:56:05 ]
>>248
標準ライブラリで JSON を扱えるようにするにあたって
現在いろいろ乱立しているJSONライブラリのどれを
ベースにするかでひともめ有った気がする。
最終的にどうなったかは知らないけど、
simplejson のインターフェイスに似せるってのが
多くの支持を得てたような。

自分は 2.5.2 しか使ってないから 2.6/3.0 の動きシラネ

252 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 14:31:32 ]
Issue 2750: Add simplejson to Python 2.6/3.0 standard library
bugs.python.org/issue2750






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<112KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef