くだすれPython(超初心者用) その22
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2014/03/08(土) 09:54:51.11もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その21
http://toro.2ch.net/test/read.cgi/tech/1388634728/
関連スレ
Pythonのお勉強 Part49
http://toro.2ch.net/test/read.cgi/tech/1387528488/
◆関連リンク
Python の Home Page
ttp://www.python.org/
◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/
◆まとめwiki
ttp://python.rdy.jp/
0002デフォルトの名無しさん
2014/03/08(土) 09:57:50.20|_::;; ~"'ヽ
| //^''ヽ,,)
| i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
|( ´∀`) < きのこ のこーのこ げんきのこ ♪
|(ノ |つ
| |
⊂ _ ノ
""U
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
(´∀` )| < エリンギ まいたけ ブナシメジ ♪
⊂| (ノ |
| |
ヽ _ ⊃
.U""
|
| ミ
| ミ サッ!
| ミ
|
0003デフォルトの名無しさん
2014/03/08(土) 09:58:29.87│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
0004デフォルトの名無しさん
2014/03/08(土) 09:59:20.78http://python.rdy.jp/wiki.cgi?page=ThreadArchive
http://python.rdy.jp/wiki.cgi?page=%B4%D8%CF%A2%BF%DE%BD%F1
ここも古いのでさっさと直せ
0005デフォルトの名無しさん
2014/03/08(土) 10:05:57.32,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
0006デフォルトの名無しさん
2014/03/08(土) 10:13:02.57hogeは禁止です。使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
また、hogeはNGワードに追加しておくことが強く推奨されています。
--------テンプレここまで--------
0007デフォルトの名無しさん
2014/03/08(土) 10:16:00.00今居る関数の、関数オブジェクトを表している特殊変数ありませんか?
下記のような時 __self__ みたいな特殊変数があると
this = hoge_hoge_fuga_fuga しなくて済むのだけど
def hoge_hoge_fuga_fuga():
this = hoge_hoge_fuga_fuga
if 'x' not in this.__dict__:
this.__dict__['x'] = 100
this.x += 1
print(this.x)
hoge_hoge_fuga_fuga()
hoge_hoge_fuga_fuga()
0008デフォルトの名無しさん
2014/03/08(土) 17:08:06.020009デフォルトの名無しさん
2014/03/08(土) 17:36:13.070010デフォルトの名無しさん
2014/03/08(土) 18:10:52.630011デフォルトの名無しさん
2014/03/08(土) 21:36:21.870012デフォルトの名無しさん
2014/03/09(日) 00:49:17.03http://kohada.2ch.net/test/read.cgi/vote/1394290844/
0013デフォルトの名無しさん
2014/03/09(日) 13:02:28.26C/Python27/Libの中にモジュール名でフォルダを作って中にinit入れたらコマンドプロントやidleではimportできるのに同じプログラムをsikuli実行すると
ImportError(No module named json)と表示されます
これはsikuliがjythonだからでしょうか?
教えてくださいお願いします
0014デフォルトの名無しさん
2014/03/09(日) 13:21:32.13・Jythonにモジュールパスを追加する方法
何らかの方法でsys.pathにライブラリのディレクトリが入っていればいい
PYTHONPATHは効果がない
JYTHONPATHは引数で指定する
site.pyを編集するとか、sys.pathを直に弄る方法もある
・Jython2.5でPython2.7のライブラリが動くかどうか
JythonはCPython2.5+α(with構文などは使える)なのでかなり怪しい
仮に動いても誰も保証をしない
setuptools(pip)は既に2.5を切り捨てたので使えない(はず)
0015デフォルトの名無しさん
2014/03/09(日) 13:26:31.63そのソフトの使い方はそのソフトのスレか公式のフォーラムで聞いてください
ないor英語が読めないなら自動化なんて諦めて寝てください
0016デフォルトの名無しさん
2014/03/09(日) 13:51:55.45ですがpywinautoとかいうすごいの見つけたんでsikuliの代わりに使ってみたいと思います
わざわざ長い文章でご回答いただきありがとうございました
0017デフォルトの名無しさん
2014/03/09(日) 16:16:11.65qpythonの質問ってここでしていいですか?
qpythonでmathライブラリを使いたいのですけど、標準で入ってないとのこと。
http://qpython.org/question/856/qpython-math/
pythonの標準ライブラリを手動インストールする方法などありましたらご教示いただけませんか?
0018デフォルトの名無しさん
2014/03/09(日) 16:46:18.22特にインストールした覚え無いけど使えてるな
ttp://i.imgur.com/CypKwbx.png
0019デフォルトの名無しさん
2014/03/09(日) 17:23:33.62すみません、自己解決しました。
まず上のスクショの通りにmath.piが表示されているのを確認しました。
次にエラーメッセージをよく見てみたらどうやら行頭の空白部分を指し示していたので、一旦空白を削除してもう一度インデントしなおしたら動きました。
courseraの課題のプログラムをネットからコピペしたので空白がおかしくなってたのかもしれません。
ありがとうございました。
0020デフォルトの名無しさん
2014/03/09(日) 17:31:43.86質問する前にまず公式くらい読もうなファック野郎
http://qpython.org/question/62/how-to-install-3rd-part-python-modules-for-qpython/
0021デフォルトの名無しさん
2014/03/09(日) 17:48:06.75勿論読みましたよ。
その元になるmath.pyが何処にあるのかということと、math.py単体の動作チェックの仕方が分かってなくて躓いてましたから。
結局math.pyで検索して見つけたファイルをその位置に置いたら出来たので。
0022デフォルトの名無しさん
2014/03/09(日) 19:33:47.710023デフォルトの名無しさん
2014/03/09(日) 20:46:03.950024デフォルトの名無しさん
2014/03/09(日) 20:53:54.230025デフォルトの名無しさん
2014/03/09(日) 21:19:32.330026デフォルトの名無しさん
2014/03/09(日) 22:00:32.080027デフォルトの名無しさん
2014/03/09(日) 23:29:11.380028デフォルトの名無しさん
2014/03/09(日) 23:35:45.82ac["id"].append(i[1])
ac["pw"].append(i[2])
i[1]にid, i[2]にpwが格納されています。
id = ac["id"][0]
pw = ac["pw"][0]
のように取り出したいのですが、どのように記述したらいいでしょうか?
一つのリスト?にid,pwと2つの情報を入れて、同じキー番号で取り出したいです。
素人すぎてすみませんw
0029デフォルトの名無しさん
2014/03/10(月) 00:37:04.25acs = []
for i in res:
ac["id"] = i[1]
ac["pw"] = i[2]
acs.append(ac)
id = acs[0]["id"]
pw = acs[0]["pw"]
0030デフォルトの名無しさん
2014/03/10(月) 00:37:54.53辞書使ったら?
for x, id, passward in res:
account = {"id": id, "password": passward}
id = account["id"]
passward = account["passward"]
0031デフォルトの名無しさん
2014/03/10(月) 02:34:47.57インフルエンザにかかって辛い
お前らも気を付けろよ
0032デフォルトの名無しさん
2014/03/10(月) 05:47:39.78from collections import namedtuple
User = namedtuple("User", "x,id,password")
res = [(None, "id01", "pw01"), (None, "id02", "pw02")]
accounts = [User(*x) for x in res]
for user in accounts:
print("{:2} {}".format(user.id, user.password))
0033デフォルトの名無しさん
2014/03/10(月) 06:00:48.85時間数えるとGUIの処理を持っていかれてウインドウが使えなくなります
何か改善策ありますかね?
0034デフォルトの名無しさん
2014/03/10(月) 06:22:06.78順番気にしないなら、id を辞書のキーそのものにすればいい
ac = dict(a[1:3] for a in res)
つまり
ac = {}
for a in res:
id, pw = a[1:1+2]
ac[id] = pw
0035デフォルトの名無しさん
2014/03/10(月) 06:41:38.21wxpython知らんけど、
wx.Timer 使えない? sleep だとMainLoop まで固まってると思うよ
0036デフォルトの名無しさん
2014/03/10(月) 07:18:58.84おおそんな便利なものがあるんですね
ありがとうございます
0037デフォルトの名無しさん
2014/03/10(月) 20:14:11.30Pythonそのものにはあんまり触れたこと無いんだが、読んでおくと勉強になったりするんだろうか
読み物として面白くて実用的なら買いたいな、と。
0038デフォルトの名無しさん
2014/03/10(月) 20:50:16.42ウイルスの解析とかする人は必携
pydbg とか DLLインジェクションの話しだから興味が
無い人にはつまらないかも
0039デフォルトの名無しさん
2014/03/10(月) 23:50:23.99http://www.youtube.com/watch?v=tKTZoB2Vjuk
0040デフォルトの名無しさん
2014/03/11(火) 00:26:09.23log = int(f.read())
log += 1
f.write(str(log))
f.close()
実行するたびにカウントアップしたいんですけど、なにがいけませんか?
0041デフォルトの名無しさん
2014/03/11(火) 00:34:44.76一つのf=open()の動作内でread()とwrite()を行うサンプル見たことないな
俺は殆んどファイル操作しないから分からんけど
0042デフォルトの名無しさん
2014/03/11(火) 00:39:31.94>なにがいけませんか?
エラー文を書いてないところ
"r+"ってなにができるんだ
0043デフォルトの名無しさん
2014/03/11(火) 00:51:10.65複数のプロセスで同時に呼び出される可能性があるなら、ロックが必要。データが壊れる可能性がある。
書き込みに関しては、write前に truncateしないと前のデータが残ったまま
0044デフォルトの名無しさん
2014/03/11(火) 01:10:54.64リードでファイルのヘッドが(次の行へ)移動するからじゃね
で、移動した2行目にログをライトしてるから、カウントアップにならない
対策としては、ライトの直前でファイルの先頭へシークする
0045デフォルトの名無しさん
2014/03/11(火) 01:44:57.45そんな感じだな
つまり>>41が書いてるように、open()とclose()の中をどっちかだけにするか、
現在位置を戻すかだな
あと、r+って事はちゃんと対象のファイルは存在してるのか?
0046デフォルトの名無しさん
2014/03/11(火) 03:38:58.070047デフォルトの名無しさん
2014/03/11(火) 21:10:08.21f = open("log.txt","r")
log = int(f.read())
log += 1
f.close()
f = open("log.txt","w")
f.write(str(log))
f.close()
0048デフォルトの名無しさん
2014/03/11(火) 21:39:06.450049デフォルトの名無しさん
2014/03/11(火) 22:06:34.12wxpython使ってイメージビュアーを作りたいんですけど、
ボタンと画像が重なってしまって、正しく動きません。
http://ideone.com/EUjMf3
どこが間違っているのか、どなたか教えてもらえませんか?
0050デフォルトの名無しさん
2014/03/11(火) 23:32:04.13ID:s+CGgq+g今すぐに試せないけど、レイアウト self.SetSizer(root_layout) してみるとどう?
0052デフォルトの名無しさん
2014/03/12(水) 23:46:06.54ID:KdBh17ll今のコードはこんな感じですが不要なウインドウを表示させないようにしたいです
import tkinter as tk
import tkinter.simpledialog as sd
class main_window(tk.Frame):
def askstr(self):
return sd.askstring("test askstring", "input", initialvalue="hoge")
root = tk.Tk()
mw = main_window(root)
print(mw.askstr())
0053デフォルトの名無しさん
2014/03/13(木) 00:16:02.24ID:dvaQTbQU0054デフォルトの名無しさん
2014/03/13(木) 02:51:40.45ID:BYFS1Mtuありがとうございます
0055デフォルトの名無しさん
2014/03/13(木) 18:11:05.47ID:KpZxdPF1pipだとエラーが出るのでGohlkeさんのインストーラを使うことが多いんですが、
virtualenvを使っていて仮想環境の中にパッケージをインストールするときはどうしたらいいんでしょうか?
0056デフォルトの名無しさん
2014/03/14(金) 18:00:52.83ID:VIcRWG3n0057デフォルトの名無しさん
2014/03/14(金) 19:45:56.17ID:VIcRWG3n>モジュールではなくeasyinatall や ipyhonのような追加機能でした
0058デフォルトの名無しさん
2014/03/14(金) 20:05:34.49ID:DLd7PKwHない
3系の方が標準モジュールも整理されてるし、文字コード周りで苦しむ事もない
対応しているモジュールの数にしても、未だに3に対応してないぐらい開発が停滞してるモジュール使うぐらいなら、
既に3に対応してる別のモジュールを選択したほうがいい
チュートリアル
http://docs.python.jp/3.3/tutorial/index.html
強いられてないなら3から始めた方がいい
0059デフォルトの名無しさん
2014/03/14(金) 22:01:45.61ID:VIcRWG3nぱっと見わからなかった。
色んなOSでの操作を同時に説明してるんですね。
を参考にpython勉強してみます
ありがとうございました!
0060デフォルトの名無しさん
2014/03/14(金) 22:12:43.67ID:DLd7PKwHWindowsでpipとvirtualenv試したら普通に使えたよ
>>> import sys
>>> sys.path
['', 'C:\\Windows\\system32\\python33.zip', 'C:\\Users\\panmatsuri\\test_env\\DLLs', '
C:\\Users\\panmatsuri\\test_env\\lib', 'C:\\Users\\panmatsuri\\test_env\\Scripts', 'D:\\Prog
ram\\Python33\\Lib', 'D:\\Program\\Python33\\DLLs', 'C:\\Users\\panmatsuri\\test_env',
'C:\\Users\\panmatsuri\\test_env\\lib\\site-packages']
Pyramidのサンプルも動いたよ
(test_env) C:\Users\panmatsuri>python test_pyramid.py
127.0.0.1 - - [14/Mar/2014 22:11:51] "GET /hello/me HTTP/1.1" 200 9
0061デフォルトの名無しさん
2014/03/14(金) 22:46:25.94ID:04HJhvAk0062デフォルトの名無しさん
2014/03/14(金) 23:02:09.95ID:xXHYHr6/0063デフォルトの名無しさん
2014/03/15(土) 01:51:50.54ID:2XTh0Nab騙されるなよ
Python3はまだ早い
あと2年待て
0064デフォルトの名無しさん
2014/03/15(土) 02:17:31.10ID:Cis/z5E9公式は、来年で保守終わる予定だよ。read PEP 373
0065デフォルトの名無しさん
2014/03/15(土) 08:06:40.10ID:4X5wGnef0066デフォルトの名無しさん
2014/03/15(土) 09:03:41.03ID:2wONVlT3してないし、しないよ。賭けてもいい。
根拠はgithubのソースツリーが2年間全く更新されてないから。
0067デフォルトの名無しさん
2014/03/15(土) 09:12:57.86ID:2wONVlT3最終的にはそのまま心中するか、
Rubyistに転生することになるだろう。
今までご苦労だった。安らかに旅立てよ。
0068デフォルトの名無しさん
2014/03/15(土) 13:07:11.35ID:a+TS82Fo処理速度も2系より遅いとかなんとか。
0069デフォルトの名無しさん
2014/03/15(土) 13:32:19.35ID:E7qCmrfxhttp://python.rdy.jp/
0070デフォルトの名無しさん
2014/03/15(土) 17:58:59.04ID:TGPQLRMC0071デフォルトの名無しさん
2014/03/15(土) 22:17:08.65ID:v9COd3Iu0072デフォルトの名無しさん
2014/03/15(土) 22:37:46.21ID:2wONVlT30073デフォルトの名無しさん
2014/03/15(土) 22:48:21.66ID:ce6c6M/L浸透という意味をどういうレベルで捉えてるのかはわかないけど、
Pythonのメジャーなフレームワークは既に対応してる
Windows、MacではPython3ノインストーラが用意されている
unix系OSのinstall pythonでPython3が入るところまではいってない
一部のOS、ディストリビューションではinstall python3で入れられる
日本で比較的メジャーなRedHat系ディストリビューションの実験場であるFedoraprojectでは
今年の年末から来年にかけてリリースされるバージョンでPython3がデフォルトになる予定
その結果はいずれ、RHELに取り入れられ、派生ディストリビューションであるCentOSなどにも反映される
個人的な感じではinstall pythonでpython3が入るようになったらpython3浸透したなぁって感じるかな
あと、自分は制約がないなら3使う
0074デフォルトの名無しさん
2014/03/15(土) 22:55:20.19ID:2wONVlT3RHL(CentOS)とDebianにデフォルトで入ったらシェア的に浸透したと言えるかなって思う
現状としてDebianには入った
RHLは驚愕の2.4.3だ
WindowsXPよりこいつらの方が潜在的に危険だと思えてならない
0075デフォルトの名無しさん
2014/03/15(土) 23:10:49.39ID:4oHlMdiA・2 と 3 どちらがいいの?という質問が起きない
・ごくまれに質問があっても、あえて 2 を選ぶ価値は
どこにも無いことが住人達の共通認識なので、話題や議論にならない
こんな状況(現状は、程遠い)
0076デフォルトの名無しさん
2014/03/15(土) 23:57:25.40ID:WPMUAKy7最大多数派のUbuntuとその派生組や、他にArchLinuxとかはとっくに3がデフォになってる。
0077デフォルトの名無しさん
2014/03/16(日) 00:17:21.83ID:/s4Ozt320078デフォルトの名無しさん
2014/03/16(日) 00:32:42.59ID:6lDs1CH40079デフォルトの名無しさん
2014/03/16(日) 00:36:54.10ID:x3s7NqCl0080デフォルトの名無しさん
2014/03/16(日) 01:24:49.46ID:oNuhFUS2クライアントユーザーや木っ端ディストリに何が入ってるかなんてどうでもいいよ
サーバーの覇権ディストリが大事なの
全てといってもいい
0081デフォルトの名無しさん
2014/03/16(日) 01:25:00.22ID:F9crUbv30082デフォルトの名無しさん
2014/03/16(日) 08:51:10.58ID:WDiZRd/e面倒を背負い込むだけ
新規に始めるのならPython3でもよい
問題になる可能性は少ない
言い換えれば全くの新規プロジェクトやるのならPython3でもおk
0083デフォルトの名無しさん
2014/03/16(日) 08:59:10.78ID:pXWrRWdV0084デフォルトの名無しさん
2014/03/16(日) 09:45:00.08ID:3n7hj7pi0085デフォルトの名無しさん
2014/03/16(日) 09:46:24.18ID:pXWrRWdV0086デフォルトの名無しさん
2014/03/16(日) 09:53:15.18ID:mx8OaDrZ0087デフォルトの名無しさん
2014/03/16(日) 10:14:00.29ID:dno/6804俺はpypiで単語検索して引っかかったやつのリファレンス見るけど。
初心者抜けるか抜けないかぐらいのレベルだから、日本語で使ってる人がいたら参考になるのでなおよし。
0088デフォルトの名無しさん
2014/03/16(日) 10:28:51.82ID:nRdR8dPO0089デフォルトの名無しさん
2014/03/16(日) 11:39:15.67ID:q86Th0e70090デフォルトの名無しさん
2014/03/16(日) 11:41:21.08ID:zg3i1lVVこのスレで聞く
0091デフォルトの名無しさん
2014/03/16(日) 11:51:03.31ID:0Al8sGk4それはダメだな
本の前提や目的が一見同じでも実際には顕示されないこまい前提や目的がそれぞれ異なっている。
最低三冊から五冊は読みたいところ。
ま、ファイルを読み込んで加工して書き出すとか、そんなレベルでいいなら
本なんかいらんけど。
0092デフォルトの名無しさん
2014/03/16(日) 12:07:49.76ID:ThyE+Nxoとりあえず、チュートリアルやって
http://docs.python.jp/3.3/tutorial/index.html
標準のライブラリリファレンスみながら、何か作ってみて
http://docs.python.jp/3.3/library/index.html
どうしたらいいんだって思った時には、とりあえずFAQ読む
http://docs.python.jp/3.3/faq/index.html
プログラミング関連の本って、言語を学ぶために買うっていうより、概念とか方法論学ぶために買うってイメージだわ。買ったこと無いけど
0093デフォルトの名無しさん
2014/03/16(日) 12:10:47.37ID:ThyE+Nxoあと、これができる本があったとしても、初めてプログラミング勉強するっていう人にわかり易いとは限らない
ほんと、仮の話だからね
0094デフォルトの名無しさん
2014/03/16(日) 12:13:41.59ID:6lDs1CH4というか書いたり話したりはいいとしてもざっくりでも読めないと話にならない。
0095デフォルトの名無しさん
2014/03/16(日) 12:14:53.08ID:lQbZRoHX0096デフォルトの名無しさん
2014/03/16(日) 12:28:06.38ID:WDiZRd/eこれこれ
Pythonやる上でもっとも重要なのは英語ドキュメントが読めるか読めないかだよね
掴みの部分は日本語に翻訳されたマニュアルとかチュートリアルで十分な気がする
まったくプログラミング未経験なら話は別だけど基本書籍は不要じゃないかな
でも結局は英語力がないとPythonの蜜を享受できない
0097デフォルトの名無しさん
2014/03/16(日) 13:52:23.68ID:FakKHmGN0098デフォルトの名無しさん
2014/03/16(日) 13:56:23.56ID:6lDs1CH40099デフォルトの名無しさん
2014/03/16(日) 14:52:24.98ID:H5QOtwKg初心者が最初に学ぶ言語として良く出来てる。
ヒエラルキーの最下層に位置するので人口も多く、情報も多くなることが期待される。
こういった良いこと尽くめの言語なんだけど、所詮は入門言語なので、
いつまでもこれに縛られるのは間違いだと思うよ。
特に世界を変えるような力を秘めた人にとっては。
たかが言語のために、力を正しく使うことなく一生を終えるのだとしたら、
世界にとっても損失です。
0100デフォルトの名無しさん
2014/03/16(日) 15:13:41.81ID:MFEQK1M10101デフォルトの名無しさん
2014/03/16(日) 15:16:30.53ID:zg3i1lVVどういうところが縛られてるって感じるの?
0102デフォルトの名無しさん
2014/03/16(日) 15:28:56.18ID:6lDs1CH40103デフォルトの名無しさん
2014/03/16(日) 15:35:30.78ID:nRdR8dPOただ縦を仕込まないのはいただけない
0104デフォルトの名無しさん
2014/03/16(日) 15:38:21.33ID:ThPC1gUrでもお金を稼ぐならScalaとJavaを勉強した方が良いかもよ。
0105デフォルトの名無しさん
2014/03/16(日) 16:22:03.01ID:1gXwUEhjPythonってどんな用途に向いてる?
逆にどんなことができる?
0106デフォルトの名無しさん
2014/03/16(日) 16:30:54.48ID:0Al8sGk4俺だとテキストファイルの加工とか
webスペースへのアップロードやそのurl取得やら
0107デフォルトの名無しさん
2014/03/16(日) 19:06:03.26ID:H5QOtwKg0108デフォルトの名無しさん
2014/03/16(日) 19:31:34.57ID:q86Th0e7結構道のりはながいね
0109デフォルトの名無しさん
2014/03/16(日) 19:32:55.21ID:x0sWcvYB0110デフォルトの名無しさん
2014/03/16(日) 19:35:06.25ID:ThPC1gUr世間のフリーの数学アプリかき集めて
pythonで駆動してノートも作れる。
0111デフォルトの名無しさん
2014/03/16(日) 20:19:46.56ID:q86Th0e70112デフォルトの名無しさん
2014/03/16(日) 21:21:54.25ID:6lDs1CH40113デフォルトの名無しさん
2014/03/16(日) 22:52:01.40ID:PPbZ0xUOくだらん議論でスレ無駄にするなよ
0114デフォルトの名無しさん
2014/03/16(日) 22:58:34.91ID:dno/6804おれはメーカーの開発なんだけど、最近はpyvisa使って機器制御してる。
データはxlwtで書き出してる。
veeやらlabviewなんかより手軽にできるし、すげー便利。
簡単なシミュレーションはscipyやらnumpyで計算してmatplotで書き出したり。
pythonはメインで使うよりも、他の仕事を簡便にするツールとして使うとすごい捗るんだよ
0115デフォルトの名無しさん
2014/03/16(日) 23:24:12.79ID:3n7hj7pi0116デフォルトの名無しさん
2014/03/17(月) 01:38:32.16ID:bcMygZBw知らなかった
0117デフォルトの名無しさん
2014/03/17(月) 16:57:07.17ID:FaJ3OVKT| ┏───┓ ‖|
| │読むんだ│ ‖|
| ┗───┛ ‖|
| ‖|
| ‖|
| ‖|
|______‖|
) ≡≡≡≡≡≡)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
。
0118デフォルトの名無しさん
2014/03/17(月) 17:31:23.80ID:htH3+S84https://www.python.org/downloads/release/python-340/
0119デフォルトの名無しさん
2014/03/17(月) 18:36:51.27ID:wtf9R8ct0120デフォルトの名無しさん
2014/03/17(月) 19:09:40.99ID:DC4xYjczメモ帳からなら、ない!
たかがメモ帳からvimクラスに移行しようとする奴が
メモ帳とは別世界を求めるなら
1.その差異に感動し
2.どう実現し得るか?
くらい調べながら移行するだろ
そういう希望もやいなら
なにもすることはない!
そもそもメモ帳から移行しなくてよし
素晴らしいメモ帳で書いていきましょう
0121デフォルトの名無しさん
2014/03/17(月) 19:45:54.80ID:pLvPbkRuこれ難しいな、ドットインストールじゃだめですかね?
0122デフォルトの名無しさん
2014/03/17(月) 19:47:10.72ID:pLvPbkRuこれ難しいね、どっとインストールじゃだめですかね?
0123デフォルトの名無しさん
2014/03/17(月) 21:57:06.22ID:s4y1IRNRというリストが存在する場合
['2014_JAN', '2014_FEB', '2014_MAR']
という結果を得たいのですが,どうすればよいでしょうか?
['2014_' x for x in month]
で一応得られるのですが,例えば関数等で同様の結果を得ることはできますか?
0124デフォルトの名無しさん
2014/03/17(月) 22:07:08.66ID:nddCznSCでも >>123 のほうがいいかと
0125デフォルトの名無しさん
2014/03/17(月) 22:43:45.00ID:stkWIQ8Kだよねたぶん
0126デフォルトの名無しさん
2014/03/17(月) 22:47:42.49ID:phCKAFNW同じく。内包表記の方が柔軟※なので、それでいいと思うけど。使い所あるかもしれないので、一応、他の方法も挙げてみる。
# 例えば、monthは小文字にしたいとなった時の、コード変更の手間。mapだと入れ子になってしまう。
map("2014_{}".format, month)
map("2014_".__add__, month) # 非推奨
0127デフォルトの名無しさん
2014/03/17(月) 22:48:05.16ID:OGKb8YmC0128123
2014/03/17(月) 23:16:21.76ID:s4y1IRNR['2014_' + x for x in month]
です.
なるほどmap関数を利用するのですね.
内包表記は可読性という意味で若干抵抗があるのですが,
こちらのほうがいいのですね.
map関数も参考になりました.
ありがとうございました.
0129デフォルトの名無しさん
2014/03/18(火) 17:27:36.93ID:q1puF+Y3のような、連続した全角空白文字を半角空白文字に置換したいのですが、どのようにすればいいのでしょうか?
reg = re.compile('\s+')や
reg = re.compile(' +') <-全角空白を入れています
とした後に、print reg.sub(' ', str)としましたが、全角空白が取り除かれていませんでした
自分の参考しているcsvファイルには、連続した全角空白だけでなく、半角空白も混ざっているかもしれません
このようなものを全て、一つの半角空白文字へ置換したいのですが、どのようにすればいいでしょうか?
宜しくお願いします
0130デフォルトの名無しさん
2014/03/18(火) 17:46:07.78ID:bmDKd/3bre.sub(r'\s+', ' ', str)
原因が文字エンコーディングだったら今どきpython2とか使ってるお前が悪い。
0131デフォルトの名無しさん
2014/03/18(火) 17:49:51.63ID:vp/oYBnhパイ2じゃー気持ちよくない
0132デフォルトの名無しさん
2014/03/18(火) 18:15:34.25ID:q1puF+Y3すみませんが、出来ませんでした
>原因が文字エンコーディングだったら
ここが良く分かりませんが、文字コードはUTF-8です
0133デフォルトの名無しさん
2014/03/18(火) 18:38:48.81ID:SGm+Hw2xすぐ止めて
0134デフォルトの名無しさん
2014/03/18(火) 18:53:27.49ID:SxY9E2cmimport re
target = u'日本商店 東京菓子店前'
re.sub(ur'[ ]+', u' ', target)
target が UNICODE 文字列でない場合は UNICODE 文字列への変換が必要
0135デフォルトの名無しさん
2014/03/18(火) 20:10:27.03ID:q1puF+Y3ありがとうございました
非常に参考になりました
0136デフォルトの名無しさん
2014/03/18(火) 23:17:16.72ID:pLXgt70C0137デフォルトの名無しさん
2014/03/19(水) 00:11:34.82ID:fS9ZAZS3スペースをまとめる前の正規化(全角スペース・記号・数字=>半角や機種依存文字の置換)
は、標準ライブラリの unicodedata.normalize が手軽で便利。
import re
import unicodedata
from functools import partial
unicode_normalize = partial(unicodedata.normalize, "NFKC")
reduce_whitespaces = partial(re.compile(ur"\s+").sub, u" ")
normalize = lambda x: reduce_whitespaces(unicode_normalize(x))
print(normalize(u"12−3 ��")) # => 12-3 (株)
0138デフォルトの名無しさん
2014/03/19(水) 00:15:21.47ID:vyItzuTFライブラリを理由にPython2を薦めないで欲しい
そんなの後からやればいい
0139デフォルトの名無しさん
2014/03/19(水) 00:31:44.48ID:pgTJKr0lPythonを知らないゴミは黙ってください
0140デフォルトの名無しさん
2014/03/19(水) 00:33:27.20ID:vyItzuTFお前はC#スレにいろチンカス野郎
0141デフォルトの名無しさん
2014/03/19(水) 00:53:53.17ID:swO6rrOw0142デフォルトの名無しさん
2014/03/19(水) 00:57:13.90ID:pgTJKr0l新しいものを使いこなせない頭の凝り固まった向上心のない人のレスが
これほどまでの不快感を生む
0143デフォルトの名無しさん
2014/03/19(水) 01:09:18.76ID:+MyuchWZ3はまだ無理すぎ。
Hello World!レベルなら3でもOK。
実用はまだ無理。
0144デフォルトの名無しさん
2014/03/19(水) 01:18:46.16ID:pgTJKr0lこの初心者スレというのは馬鹿な質問者とカス知識で語りたがる自己顕示欲野郎が入り浸るム板の癌
もうこの板には上級者がいなくなっちゃったね
0145デフォルトの名無しさん
2014/03/19(水) 08:29:12.04ID:+fq48j6Dそういう
お馬鹿で不愉快な仲間たちのいるスレ来なければいいのに。
どうして書き込み続けるの?
「俺なんか凄いんだぞ、お前らなんか、チンカス野朗だもん」
と言いたいのかな
君も頭良いとも思えない書き込みだけどね
ていうか精神病かなあ
何故って固執が激しいようだから
0146デフォルトの名無しさん
2014/03/19(水) 08:38:50.27ID:pgTJKr0lそうやって図星つかれて発狂してるから初心者スレは糞のまま
時間をかけてゆっくり糞化していったんだよ
スレ全体の雰囲気を考えない奴がじっくりとスレを荒廃させていった
0147デフォルトの名無しさん
2014/03/19(水) 08:39:41.26ID:G3F++Ifs0148デフォルトの名無しさん
2014/03/19(水) 08:53:46.83ID:Q/IJUyZ2わはは、きみ精神病だろ
図星も何も俺はプログラミング教本書いてるし市販アプリも出してきたし
講演もしてきたし
君、精神病ならではの勘違い思いこみ激しすぎ
いやぁ、笑わせてもらいました
0149デフォルトの名無しさん
2014/03/19(水) 08:56:28.47ID:swO6rrOw上級者のあなたが上級な答えでどんどん回答していけばこのスレも上級なスレになりますぞー!
0150デフォルトの名無しさん
2014/03/19(水) 09:33:24.27ID:pgTJKr0lPython関係で息してるスレなんてここぐらいだろ馬鹿
しかも超初心者用とか謳ってるし、この板ではPython使いはこの程度の馬鹿しかいないってことだろ
こういう糞スレしか勢いがないことに恥を感じろよ
0151デフォルトの名無しさん
2014/03/19(水) 10:05:05.57ID:G3F++Ifs中上級者用の新しいスレを立ててそっちを盛り立てようと改善の努力をせず
超初心者スレでお前らは馬鹿だの自己顕示欲野郎だの、何の役にも立たない
罵倒をしている方が恥ずかしいと思うけど
自分では何も出来ないし、するつもりもないくせに
文句ばかり言ってる新入社員みたいで痛い
0152デフォルトの名無しさん
2014/03/19(水) 10:16:57.65ID:swO6rrOwあーい!恥ずかしくてすみまてぇーん!
0153デフォルトの名無しさん
2014/03/19(水) 10:20:21.29ID:Q/IJUyZ2オッパイしか触れなくて損するんてすか?
俺、マンコも触りたいから迷ってます
0154デフォルトの名無しさん
2014/03/19(水) 10:20:52.09ID:Q/IJUyZ20155デフォルトの名無しさん
2014/03/19(水) 10:26:59.79ID:pgTJKr0lこういう奴を大量に抱え込んでるのがPythonスレ
今大量にあぶりでちゃったね
高尚な話をしたいんなら別スレだね、ここにはアホしかいないことを自覚して続けるべき
0156デフォルトの名無しさん
2014/03/19(水) 10:34:56.64ID:pgTJKr0lこういうスレで大真面目に何が得られると期待している輩のほうがよほどおかしい
0157デフォルトの名無しさん
2014/03/19(水) 10:38:14.42ID:wMu611r40158デフォルトの名無しさん
2014/03/19(水) 10:38:38.62ID:Q/IJUyZ2あらら、精神病君、まだいたんだ
精神病の奴は精神病かどうかについて答えんのが特徴。
さあて、パイソンしないでマンコグリグリするぞぉ
0159デフォルトの名無しさん
2014/03/19(水) 10:41:25.56ID:Q/IJUyZ2Lispやると東大女とやれると最近もっぱらの噂だぞ?
どうだ?羨ましいか?
よし、オッパイだけで満足できない奴はLispやれ
ただし、バカならやめろ
オッパイで満足してろ
0160デフォルトの名無しさん
2014/03/19(水) 10:51:22.34ID:wMu611r40161デフォルトの名無しさん
2014/03/19(水) 10:58:50.20ID:pgTJKr0l出て行ったほうがいいよ
0162デフォルトの名無しさん
2014/03/19(水) 11:11:49.40ID:Q/IJUyZ2俺のように役に立つ書き込みをしろ
今ならLispの基礎のための書籍を原著でも邦訳でもネットからダウンロードできるぞ。
ただだぞ!
無料で東大女とやれる基礎をつけられるんだぞ
The little Schemer
On Lisp
SICP
の順書でやれ
これでおまえも俺と穴兄弟だな
0163デフォルトの名無しさん
2014/03/20(木) 11:52:09.12ID:G34tGlIyarr = np.array([
[1,2,3],
[4,5,6],
[7,8,9]
])
このarから[
[1,2],
[4,5],
[7,8]
]
とスライスするにはどうしたらいいでしょうか
0164デフォルトの名無しさん
2014/03/20(木) 12:02:33.72ID:noBkfRX0Python以前の問題
本を読むことも出来ない池沼が着ていいスレじゃない、
お前の頭の悪さをどう改善するかが最重要課題
0165デフォルトの名無しさん
2014/03/20(木) 12:05:44.02ID:noBkfRX0遥か上をいくプログラマはこんな馬鹿に相手するだけの価値はないんだからよ
0166デフォルトの名無しさん
2014/03/20(木) 12:14:58.86ID:dZthByrUarr[:, :2]
0167デフォルトの名無しさん
2014/03/20(木) 12:17:25.93ID:noBkfRX0これが>>163が理解できるのか知らんが
再質問なんかしてスレを汚すことだけは許されんな
0168デフォルトの名無しさん
2014/03/20(木) 12:18:15.31ID:G34tGlIyうまくいきました!ありがとうございます
0169デフォルトの名無しさん
2014/03/20(木) 12:28:07.19ID:noBkfRX0とりあえず回答もらったからって感謝する馬鹿回答者
うまくいくはずもない嘘回答で結局解決できず馬鹿を見る
再質問するのだけは止めようね、みっともないから
0170デフォルトの名無しさん
2014/03/20(木) 12:40:50.63ID:G34tGlIyちゃんとできたので大丈夫ですよ
http://i.imgur.com/H5Htn8N.jpg
0171デフォルトの名無しさん
2014/03/20(木) 12:47:39.21ID:noBkfRX0これだからPython信者て思われても仕方ないね
ゴミだからしょうがない
0172デフォルトの名無しさん
2014/03/20(木) 12:50:27.56ID:G34tGlIy>こんなゴミ回答で出来た
論点変わってるんですがそれは大丈夫なんですかね
0173デフォルトの名無しさん
2014/03/20(木) 12:51:29.46ID:noBkfRX0あっさりと解決してもらったはずの用無し質問者がまだうろついてる
0174デフォルトの名無しさん
2014/03/20(木) 12:52:39.00ID:G34tGlIy0175デフォルトの名無しさん
2014/03/20(木) 12:54:00.40ID:noBkfRX0この馬鹿質問者低レベルな質問しといと嫌がらせに変身したよ
理解不能です
0176デフォルトの名無しさん
2014/03/20(木) 12:56:31.51ID:dIZh3UND超初心者用スレで何言ってんだか
ひょっとして既に精神病?
どう?精神病ですか?違いますか?
0177デフォルトの名無しさん
2014/03/20(木) 12:57:51.61ID:noBkfRX0用が済んだら早く出てけば?
0178デフォルトの名無しさん
2014/03/20(木) 12:57:54.53ID:G34tGlIy自分からつっかかってきといて
言い返せなくなったら荒らし認定ですかそうですか
0179デフォルトの名無しさん
2014/03/20(木) 12:58:51.22ID:klDTLxpBあらら、なんだもろに精神病なんだ
背伸びするから劣等感激しくなり、それを偽装しようとするから精神病になったんだろ?
0180デフォルトの名無しさん
2014/03/20(木) 12:59:09.61ID:noBkfRX0まんまと自己顕示欲を満たしてしまったね、このスレの常駐回答キチガイに
0181デフォルトの名無しさん
2014/03/20(木) 13:00:33.94ID:G34tGlIy回答者は自己顕示欲を満たせる
誰も損してないんだよなぁ…
0182デフォルトの名無しさん
2014/03/20(木) 13:01:21.84ID:noBkfRX0そして上級者がいなくなった
0183デフォルトの名無しさん
2014/03/20(木) 13:01:47.05ID:klDTLxpBおーい、精神病はメンヘルスレに行くか
交番襲撃して刑務所入ってな、カス
俺がお前に似合った襲撃法を教えてやるから、
いいか、チンチンおったてて
(肉棒かかげ、国後に上陸せよ、組み伏せ金髪ロシア女)
と叫びながら交番の中でしごけ、ドンドンしごけ
どうだ?お前にでもできる簡単な襲撃だろ
さあ、いってこいカス
0184デフォルトの名無しさん
2014/03/20(木) 13:03:46.93ID:noBkfRX0精神病はお前のほうじゃねえの?スレにへばり付いて回答しまくるとか考えられん
上級者は愛想尽かして消えちゃったんだよ
0185デフォルトの名無しさん
2014/03/20(木) 13:04:48.32ID:G34tGlIy今こうして超初心者用スレがあるんだから住み分けできてるでしょ
質問したい超初心者でもなく回答したい訳でもなく
何がしたくてこのスレ見てるんですかね…
0186デフォルトの名無しさん
2014/03/20(木) 13:07:01.94ID:noBkfRX0少なくともこのム板ではね、あるだけ無駄だからこのスレは削除すべき
0187デフォルトの名無しさん
2014/03/20(木) 13:07:48.03ID:G34tGlIy0188デフォルトの名無しさん
2014/03/20(木) 13:08:04.41ID:kBPotTsg絡まずにスルーしてればいいですよ
0189デフォルトの名無しさん
2014/03/20(木) 13:09:47.67ID:noBkfRX0勢いがあるのかこういう糞質問と糞回答をするだけのスレ
ム板のPythonはこの程度
0190デフォルトの名無しさん
2014/03/20(木) 13:17:05.59ID:dZthByrU0191デフォルトの名無しさん
2014/03/20(木) 13:18:16.88ID:8dWNNfj8相手しちゃ駄目
今日のID
http://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html
0192デフォルトの名無しさん
2014/03/20(木) 13:19:33.63ID:noBkfRX0これはもう私の自動的な勝利ですね
0193デフォルトの名無しさん
2014/03/20(木) 13:24:44.95ID:4cqWGiXBおやおや、どうして答えない?
精神病なのかどうか?
ほら、答えな
それと誰かと俺を混同しているようだが文体などからの判断力がかなり低いようだな。
ようするに馬鹿だろ?
偏差値どのくらいだった?
無論、計測した機関名込みで言ってご覧?
はい、精神病ですか?
さて、偏差値はいくつでしたか?
(バカで測ったことなかったり?)
さあ、答えてみな、カス君
0194デフォルトの名無しさん
2014/03/20(木) 13:33:02.10ID:noBkfRX00195デフォルトの名無しさん
2014/03/20(木) 13:48:45.37ID:dIZh3UNDうわっ!
精神病かどうか答えないな、
それは精神病の実は特徴なんだよ
偏差値にも触れないな
それは劣等感の現れなんだよ
さて、Idがコロコロ変わることについてなんのの知見もないんだな。
ググレカス
(バカ向け検索ヒント
emobile id被り idが変わる)
さてさて、精神病で低偏差値で無知で
よく生きてるな?!
わはは!!!
0196デフォルトの名無しさん
2014/03/20(木) 13:54:57.49ID:G34tGlIyうわぁこんなの相手にしてたのかと思うと恥ずかしい…
0197デフォルトの名無しさん
2014/03/20(木) 13:56:16.96ID:noBkfRX0どうせスマホでIP変えまくってんだろーが
0198デフォルトの名無しさん
2014/03/20(木) 13:57:21.44ID:noBkfRX00199デフォルトの名無しさん
2014/03/20(木) 14:25:33.41ID:YYkkDc7U0200デフォルトの名無しさん
2014/03/20(木) 15:02:08.12ID:dJtAx16Sこういう奴って生きてて何が楽しいんだろう?
0201デフォルトの名無しさん
2014/03/20(木) 16:00:45.90ID:4cqWGiXBわはは
低偏差値で馬鹿だけど精神病ではないってか?
おまえ、ほんとにわかりやすい馬鹿丸出しだな
ひょっとして高校中退?
0202デフォルトの名無しさん
2014/03/20(木) 16:04:32.44ID:4cqWGiXBおお、教えてやったのに精神病だからわからなかったな。
ヤッパリ精神病しゃないか!
自覚がないのか?
精神科言ってこい。
idを意図的に買えるのではなく、
idは割り当ての関係でコロコロ勝手に変わるもの
もう、精神病だと一度思い込むとそここら離れられない症状がもろでてるな、君
病院いってこい
頭悪いのは諦めろ、な!
低偏差値君
0203デフォルトの名無しさん
2014/03/20(木) 17:47:15.65ID:jX7CIeWF0204デフォルトの名無しさん
2014/03/20(木) 18:31:00.73ID:ROJkfH/r0205デフォルトの名無しさん
2014/03/20(木) 21:03:02.04ID:YYkkDc7U0206デフォルトの名無しさん
2014/03/21(金) 01:27:27.48ID:Acj2Tqathttp://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html
一昨日
http://hissi.org/read.php/tech/20140319/cGdUSktyMGw.html
0207デフォルトの名無しさん
2014/03/21(金) 02:38:24.75ID:JRSSC6YG変なのが湧いてきたな
0208デフォルトの名無しさん
2014/03/21(金) 05:00:12.71ID:cquHSgcT0209デフォルトの名無しさん
2014/03/21(金) 08:13:41.77ID:/llxx+Flhttp://hissi.org/read.php/tech/20140321/WjgyK3owbFg.html
0210デフォルトの名無しさん
2014/03/21(金) 10:45:04.38ID:cquHSgcTこういうことをする人って大概、精神病だろ?
わざわざ粘着して調査公表
ねえねえ、どういう病名?
入院歴は?
0211デフォルトの名無しさん
2014/03/21(金) 10:49:33.45ID:X9FAScz30212デフォルトの名無しさん
2014/03/21(金) 10:50:23.96ID:b7iVFJmQ0213デフォルトの名無しさん
2014/03/21(金) 10:55:37.37ID:C4zm/UMWいいぞ争え
0214デフォルトの名無しさん
2014/03/21(金) 11:56:45.46ID:Q/GGBYV00215デフォルトの名無しさん
2014/03/21(金) 12:50:13.61ID:Z82+z0lX脳に寄生虫が巣食っててるから支離滅裂な回答してくる
0216デフォルトの名無しさん
2014/03/21(金) 12:57:09.36ID:eibr9P7Y0217デフォルトの名無しさん
2014/03/21(金) 17:39:52.10ID:KG37XIJeappendって使わないんですか?
0218デフォルトの名無しさん
2014/03/21(金) 17:43:16.09ID:Z82+z0lX>>217みたいな
0219デフォルトの名無しさん
2014/03/21(金) 17:45:44.54ID:+gzihxYIでたでた、お前、毎回同じこと言ってる精神病だろ?
id変化の仕組みも理解できず
可能の必然化を恣意と無能によってしてしまうお馬鹿ちゃん
馬鹿だから言われていることを理解できずに
「だって、自演だもん!」
としか言えないクズ
しねよクズ
0220デフォルトの名無しさん
2014/03/21(金) 18:16:29.21ID:Z82+z0lX0221デフォルトの名無しさん
2014/03/21(金) 18:27:14.32ID:nMEoDYxt俺が精神病?笑わせてくれるな
よほど三流校出身者だろ?
判断が酷すぎる
バカは黙って引きこもってろ
0222デフォルトの名無しさん
2014/03/21(金) 19:47:59.79ID:Z82+z0lX0223デフォルトの名無しさん
2014/03/21(金) 23:55:30.92ID:EHbxCFF7PyInstallerは対応してないしPy2exeは一つにまとまらないし
0224デフォルトの名無しさん
2014/03/22(土) 00:11:44.74ID:Mt3jN67W0225デフォルトの名無しさん
2014/03/22(土) 00:15:21.69ID:+2B6OEdX0226デフォルトの名無しさん
2014/03/22(土) 06:27:50.15ID:5gx6vbDt自明のいう言葉を安易に使うあたり
きみ、精神病だろ
0227デフォルトの名無しさん
2014/03/22(土) 06:29:22.84ID:5gx6vbDt所詮、バカでも挑戦できる言語スレだな
0228デフォルトの名無しさん
2014/03/22(土) 07:50:14.24ID:fto4Ouyf> 自明のいう言葉
かみかみやん (w
0229デフォルトの名無しさん
2014/03/22(土) 10:35:15.56ID:KNAyFIgTこれを実行すると下のエラーが出ます
>File "1.py", line 198, in <moduke>
> print "%d: %s" % (i, volumekeys[key]["title"])
>UnicodeEncodeError: 'cp932' codec can't encode character u '\2014' in position 1
>5: illegal multibyte sequence
具体的にどうすればいいのか教えて下さい。
0230デフォルトの名無しさん
2014/03/22(土) 11:26:34.24ID:5oW3ItWU以下のソースだとNoneになります。。
<em><span title="動画" class="iconVideo">動画</span>Vimeo</em>
import urllib
from BeautifulSoup import BeautifulSoup
source = urllib.urlopen('http://yahoo.co.jp/').read()
soup = BeautifulSoup(source)
print soup.find("span",{"title":u"動画"})
0231デフォルトの名無しさん
2014/03/22(土) 11:44:14.33ID:kLUXl+hGeuc-jpとかutf-8とか
0232デフォルトの名無しさん
2014/03/22(土) 11:51:12.90ID:ojADl8Uz断片的なことしか理解してないんだなこれは
0233デフォルトの名無しさん
2014/03/22(土) 12:16:48.70ID:h4m0yMGmsource の中に目的の要素が入ってるか確認してみて
open("index.html", "w").write(source) とかで
0234デフォルトの名無しさん
2014/03/22(土) 12:19:16.08ID:5oW3ItWUsoup = BeautifulSoup(source, fromEncoding='utf-8')
色々試したんですけどうまくいかないので削ってました。
>>233
要素は間違いなくありました。
日本語要素でなければ取得できましたので、エンコードの関係だと思います。
0235デフォルトの名無しさん
2014/03/22(土) 12:29:13.41ID:q0Uao2gLそもそもttp://yahoo.co.jpのソースにspanタグ無くね?
0236デフォルトの名無しさん
2014/03/22(土) 12:33:23.24ID:h4m0yMGm試してみたけど soup.findAll("img", {"alt": u"写真"}) は取れる
> 要素は間違いなくありました。
ブラウザで開いてソース閲覧とかしてない?
もしそうなら >>233 で保存したソースについて確認してみて
0237デフォルトの名無しさん
2014/03/22(土) 12:40:09.41ID:Nsic/UJLSeleniumの出番か
0238デフォルトの名無しさん
2014/03/22(土) 13:03:57.87ID:5oW3ItWU本当ですね。
保存したら古い感じのYAHOOが表示されました。
UA指定してないからとかじゃなくてjavascriptですか・・
>>237
Selenium調べてみます!ありがとうございます。
0239デフォルトの名無しさん
2014/03/23(日) 00:00:45.04ID:AY0ttai1http://hissi.org/read.php/tech/20140319/cGdUSktyMGw.html
3/20 ID:noBkfRX0 69レス1位
http://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html
3/21 ID:Z82+z0lX 55レス1位
http://hissi.org/read.php/tech/20140321/WjgyK3owbFg.html
3/22 ID:+2B6OEdX 39レス1位
http://hissi.org/read.php/tech/20140322/KzJCNk9FZFg.html
完 全 に 病 気
0240デフォルトの名無しさん
2014/03/23(日) 00:06:11.91ID:hZ1zX5Vz0241デフォルトの名無しさん
2014/03/23(日) 00:11:06.09ID:Zo8uS5e/0242デフォルトの名無しさん
2014/03/23(日) 00:26:32.41ID:MIluuzdu0243デフォルトの名無しさん
2014/03/23(日) 01:31:21.55ID:BoG2P7C10244デフォルトの名無しさん
2014/03/23(日) 08:58:04.95ID:qMTToUJWモジュールの中からでしか使えないclassを定義したいです
0245デフォルトの名無しさん
2014/03/23(日) 09:24:20.03ID:qMTToUJW0246デフォルトの名無しさん
2014/03/23(日) 10:13:09.62ID:vQe6VsWb0247デフォルトの名無しさん
2014/03/23(日) 10:23:11.87ID:qMTToUJW0248デフォルトの名無しさん
2014/03/23(日) 11:30:19.10ID:Zo8uS5e/0249デフォルトの名無しさん
2014/03/23(日) 11:35:57.69ID:aZEDGIiQ0250デフォルトの名無しさん
2014/03/23(日) 13:44:41.73ID:LwVxNWuC質問禁止
0251デフォルトの名無しさん
2014/03/23(日) 13:48:00.82ID:qMTToUJW紳士協定っすね
>>250
何に移行すりゃいいんです?ま、まさかRubyとか言わないよね?ガクガク
0252デフォルトの名無しさん
2014/03/23(日) 19:00:20.59ID:0p+ZCgI9今、http://engineer-intern.jp/archives/8627のチュートリアルをやっているのですが最後で躓いています。
プロジェクトのフォルダで python manage.py runserver を実行しても、
”Exception:Couldn't get applid. Is your app.yaml file missing? Error was: cannnot import name dev_appsrver”
というエラーが出ます。
ちなみに、GAEのLauncherから”Run"すればブラウザでlocalhostに接続できます。
このままではdjangoの開発が進まないと思うのですが、どうすればよいでしょうか。
どうかよろしくお願いします。
0253デフォルトの名無しさん
2014/03/23(日) 19:14:42.71ID:LwVxNWuC馬鹿には無理すぎる言語なので
このスレで質問する前にまず勉強しろ
回答がついても、そいつは馬鹿な質問に答えられるだけしか能力をもたないクズだから
0254デフォルトの名無しさん
2014/03/23(日) 19:23:46.84ID:Zo8uS5e/0255デフォルトの名無しさん
2014/03/23(日) 19:27:28.61ID:syO46+Zyいい機会だからお前例示してみてよ
0256デフォルトの名無しさん
2014/03/23(日) 19:30:40.61ID:LwVxNWuCお前こそ糞回答しかできないかじりつきPythonグラマー
ゴミうんこ糞糞クズカスが
0257デフォルトの名無しさん
2014/03/23(日) 19:31:21.16ID:Zo8uS5e/0258デフォルトの名無しさん
2014/03/23(日) 19:32:03.70ID:LwVxNWuCいいから本を読め、情弱
0259デフォルトの名無しさん
2014/03/23(日) 19:37:05.02ID:0mR+ECdwどの本を読めばいいんですか?
アフィリエイト付きのリンクでいいんで紹介してください
0260デフォルトの名無しさん
2014/03/23(日) 19:45:10.09ID:LwVxNWuCそしてコードを書きまくれ
そしたらこのスレは全然いらなくなる
0261デフォルトの名無しさん
2014/03/23(日) 19:47:09.36ID:hZ1zX5Vzあらゆる言語スレで噛み付いてるニートなので触らないでください。
>>254
0262252
2014/03/24(月) 03:36:00.54ID:yrWGnhR/チュートリアルが古すぎてダウンロードさせるファイル同士のバージョンが合ってなかったようです。
http://django-nonrel.org/でインストールの手引を読みそこのリンクからダウンロードしなおしたところ動きました。
スレ汚し失礼しました。
0263デフォルトの名無しさん
2014/03/24(月) 11:20:49.41ID:xSwd0cOh0264デフォルトの名無しさん
2014/03/24(月) 12:13:01.70ID:iN+OyuMJつまりここにいるのはゴミばかりで役に立たない
0265デフォルトの名無しさん
2014/03/24(月) 12:54:09.00ID:BAuNFOlG0266デフォルトの名無しさん
2014/03/24(月) 15:08:48.41ID:i6BIeOy/0267デフォルトの名無しさん
2014/03/24(月) 15:49:31.69ID:BAuNFOlG0268デフォルトの名無しさん
2014/03/24(月) 17:12:15.98ID:A26SCJHG0269デフォルトの名無しさん
2014/03/24(月) 22:59:49.15ID:mMxAuWzq職場にコードを書ける人間が皆無の職場で一人、先週より業務の自動化を進めようとしています。
が、エラーの原因を調べられず、困っています。
環境(バージョン2.7.6.0/IDE Spyder 2.2.5)
Python(x,y) をインストールして使っています。
下記エラーがコンソールに表示されます。
>>> runfile('C:/test/lineprofilev0.1a.py', wdir=r'C:/test')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "C:/test/lineprofilev0.1a.py", line 35, in <module>
second = strip(re.split('\t', inline)[1])
IndexError: list index out of range
>>>
必要になるかわかりませんが、このようなコードを書いています。
http://ideone.com/qsefJy
作成中のゴミコードで恥ずかしいですが・・・エラー対応の他のアドバイスもいただけると嬉しいです。。
0270デフォルトの名無しさん
2014/03/24(月) 23:06:59.59ID:A26SCJHG↑のファイルの35行目の
>second = strip(re.split('\t', inline)[1])
↑のコードで
>IndexError: list index out of range
↑リストを範囲外のインデックスで参照してる
例えばリストの中に値が2個しか入ってないのに
100番目を取ろうとしても駄目なことは理解できんだろ
後は頑張ってね
0271デフォルトの名無しさん
2014/03/24(月) 23:09:57.11ID:PtDfnD0yあんま詳しく見てないけど、空の行を読んでsplitしてるから結果のリストが参照の範囲から外れてる、とかじゃない?
0272デフォルトの名無しさん
2014/03/24(月) 23:14:04.77ID:mMxAuWzqありがとうございます。
もう1つエラーがあるのですが、こちらはどういう意味かわかりますでしょうか。
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
このエラーのせいで、リストに値が入らず、教えっていただいた2つめのエラーが出ているような気がするのですが・・・。
1つめのエラーの原因が見当もつかず、切り分けもできずにいる状態です
。
0273デフォルトの名無しさん
2014/03/24(月) 23:14:28.56ID:iN+OyuMJ0274269
2014/03/24(月) 23:17:07.86ID:mMxAuWzq0 204.3333
1 216.3333
2 230.6667
3 237.3333
0275デフォルトの名無しさん
2014/03/24(月) 23:17:23.88ID:3YMAtZN+0276デフォルトの名無しさん
2014/03/24(月) 23:19:51.53ID:PtDfnD0yそれはIDEの何かでエラーになってる
そのエラーのせいで二つ目のエラーが起きてるようには思えない
0277デフォルトの名無しさん
2014/03/24(月) 23:21:56.94ID:iN+OyuMJ0278269
2014/03/24(月) 23:27:40.84ID:mMxAuWzqありがとうございます!
思い込みで1つめのエラーばかり調べていました。
読み込み対象フォルダ内に.txtがつくショートカットファイルが1つあり、
それを読み込んでいたかも知れません。
もう少し調べてみますが、また進めそうです。
0279デフォルトの名無しさん
2014/03/24(月) 23:28:25.97ID:iN+OyuMJお前には一生かかっても無理
プログラミングなんかやめろ
ドカタの運命だから
0280デフォルトの名無しさん
2014/03/24(月) 23:30:13.53ID:62qhDG+k見当違いだったら申し訳ないが、新しくファイル作って、全文コピーして改めて動かして見て。
俺もspyder使ってて同じようなエラーが出て困った記憶がある。
その時おれはwinpythonに付属のspyder使ってた。winpythonはUSBメモリとかで持ち運びできるポータブル形式のpythonなんだけども、編集中にUSBから抜いたりするとそんなことになった気が…
その時は改めてファイル作ってコピペしたら動いたんだがどうだろう。
0281デフォルトの名無しさん
2014/03/24(月) 23:33:06.41ID:iN+OyuMJPythonを知らないゴミが回答してんじゃねーよクズ
消えろチョウセン人、スレを汚すなクズ野郎
お前はさっさとオナニーコード書いてバグだして糞して寝ろ
0282デフォルトの名無しさん
2014/03/24(月) 23:42:09.00ID:UzrSJmvl0283デフォルトの名無しさん
2014/03/24(月) 23:47:17.30ID:iN+OyuMJたぶんじゃねえよ馬鹿、じゃあ答えるな
回答にもなってないし、知識のないアホは来るな
0284デフォルトの名無しさん
2014/03/24(月) 23:49:44.21ID:3YMAtZN+コイツが俺と同じプロバイダでありませんように・・・
0285デフォルトの名無しさん
2014/03/24(月) 23:51:33.49ID:iN+OyuMJ知識のない馬鹿は来るなって言ってるだろうが!
マジ迷惑なんだよ、お前みたいな横やり野郎は
うざいだけ、自覚のない荒らしだろお前
0286デフォルトの名無しさん
2014/03/24(月) 23:52:05.65ID:HS2n3CGrコテつけることも出来ないゴミ屑がしゃしゃり出るんじゃねーよ
そんなに叩かれるのが怖いの?
人のことボロクソ言うくせに自分が叩かれるのは嫌とかなめてんじゃねーぞ糞ニート働けや屑
0287デフォルトの名無しさん
2014/03/24(月) 23:56:52.89ID:UzrSJmvl敢えて相手する(以降は一切相手しない)けど、
混乱を避けて関係ないけどと前書きしてちょっと役立つかも知れない情報を足すことを非難される謂れはないし、
たぶんの但し書きにしても不必要な断定よりはよほど誠実な上他の人が訂正してくれる可能性だって開いてると僕は思う。
そして一切建設的な話をせずにそういうこと言ってるだけの貴方が口を出す資格もない。
僕のことをアホって言うならそれはいいけど、僕や彼のために間違ってるなら訂正してよ
0288デフォルトの名無しさん
2014/03/25(火) 00:00:58.48ID:iN+OyuMJふざけんな、糞みたいな嘘情報を吐いておいて
正義面すんな、スレを汚しておいて酷い言葉だな
0289デフォルトの名無しさん
2014/03/25(火) 00:01:53.27ID:9Vi74SGGhttp://hissi.org/read.php/tech/20140315/bVY5QXpxVzg.html
3/16 ID:+0w7Q/Uu 67レス1位
http://hissi.org/read.php/tech/20140316/KzB3N1EvVXU.html
3/17 ID:qNLDgXjv 58レス1位
http://hissi.org/read.php/tech/20140317/cU5MRGdYanY.html
3/18 ID:G12u9CCe 71レス1位
http://hissi.org/read.php/tech/20140318/RzEydTlDQ2U.html
3/19 ID:pgTJKr0l 86レス1位
http://hissi.org/read.php/tech/20140319/cGdUSktyMGw.html
3/20 ID:noBkfRX0 69レス1位
http://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html
3/21 ID:Z82+z0lX 55レス1位
http://hissi.org/read.php/tech/20140321/WjgyK3owbFg.html
3/22 ID:+2B6OEdX 39レス1位
http://hissi.org/read.php/tech/20140322/KzJCNk9FZFg.html
3/23 ID:LwVxNWuC 51レス1位
http://hissi.org/read.php/tech/20140323/THdWeE5XdUM.html
3/24 ID:iN+OyuMJ 61レス1位
http://hissi.org/read.php/tech/20140324/aU4rT3l1TUo.html
0290デフォルトの名無しさん
2014/03/25(火) 00:03:04.09ID:9Vi74SGG0291269
2014/03/25(火) 00:15:40.04ID:ZcEuDk3W煽りの人は非表示にしたので、IDも確認できなくなっています。
>>280
.pyファイルを新規作成してみましたが、エラーは継続して表示されました。
ただ、>>276 の方のいうように、このエラーが出ていても処理は進んでいる
ようなので、今回は無視しようかと思っていましたが、まずいでしょうか。
>>282
ありがとうございます。調べてみます。
ちなみに glob.glob('*.txt') とでは、どちらがオススメというのはありますでしょうか。
別のエラー対策のために調べているとこれが目について、これに変えようかと思っていたのですが・・・。
0292デフォルトの名無しさん
2014/03/25(火) 00:18:09.50ID:bvFcvrs8おいチョーセンヒトモドキ調子に乗るなよ!
てめーみたいなクズがいるからゴミ質問者を呼び寄せてるんだろうが
マジで低能さを自覚しろよな、それが出来ないからこのスレにいるんだろ?
0293デフォルトの名無しさん
2014/03/25(火) 02:57:12.91ID:RstUBxh7単純に入力ファイルのフォーマットがきちんとしてないだけじゃね?
タブ区切りじゃない行があるんだよきっと
スマホなんでスペース区切りになってるけど
ttp://ideone.com/xgjFQR
0294269
2014/03/25(火) 07:58:26.87ID:ZcEuDk3W2つめのエラーは、目的とは別のファイルを意図せず読み込んでいたことが原因でした。
1つめのエラー(IDEのエラー?)は、原因は不明ですが、動作に影響を及ぼさないように見えるので、放置しようかと思っています。
0295デフォルトの名無しさん
2014/03/25(火) 12:26:22.00ID:bvFcvrs8ゴミチョーセン人入りましたー
Pythonやってるゴミはこんなかんじの質問をする馬鹿野郎です^^;
0296デフォルトの名無しさん
2014/03/25(火) 12:30:57.05ID:QQ/VYTXH0297デフォルトの名無しさん
2014/03/25(火) 12:43:27.80ID:iaFhKYFbゴミは人間じゃありませんから
0298デフォルトの名無しさん
2014/03/25(火) 19:16:26.11ID:/Po8Mpe4これを使いたくてgithubのクライアント使ってダウンロードしてコマンドプロンプトでsetup.py install と打ち込みました
すると新しいファイルをC\:Python33\lib以下じゃなくてsetup.pyのあるディレクトリにコピーしてくれましたが、これだとインストールできてないですよね
正しくインストールするにはどうしたらいいでしょうか
0299デフォルトの名無しさん
2014/03/25(火) 19:24:42.89ID:nZeFpifqc:\Python33\python.exe setup.py とか
py -3 setup.py とか。
0300デフォルトの名無しさん
2014/03/25(火) 19:31:30.36ID:/Po8Mpe4すみません><
0301デフォルトの名無しさん
2014/03/25(火) 23:24:04.90ID:kzK0jd5Tnameという多数項目があるリストに共通の変数を指定したいんですが、
以下のようにすることってできますか?
abc = '共通ワード'
name = ['%sあああ',
'%sいいい',
'%sううう',
'%sえええ',
'%sおおお'] % abc
0302デフォルトの名無しさん
2014/03/25(火) 23:41:36.52ID:LnHxQXcrnames = ['%sあああ', '%sいいい', '%sううう', '%sえええ', '%sおおお']
[name % word for name in names]
0303デフォルトの名無しさん
2014/03/25(火) 23:54:56.86ID:kzK0jd5Tすみません、よくわかりません・・
names[0]はどうやって取り出せますか?
0304デフォルトの名無しさん
2014/03/26(水) 00:07:01.27ID:ntkBkCsUnames = [name % word for name in names]
names[0]
0305デフォルトの名無しさん
2014/03/26(水) 00:10:45.27ID:R/As+Eljありがとうございます!理解できるようにがんばります
0306デフォルトの名無しさん
2014/03/26(水) 18:37:18.95ID:f/bZCXoVどうぞよろしくお願いします。
0307デフォルトの名無しさん
2014/03/26(水) 18:56:51.80ID:ntkBkCsUprint [k for k, v in dic.iteritems() if v == 2]
0308デフォルトの名無しさん
2014/03/26(水) 19:35:57.87ID:3ZsDRAvZ逆引き用に 値=>キーの辞書を準備する。
全部の値を調べるのは、効率よくない。
0309デフォルトの名無しさん
2014/03/26(水) 21:17:13.09ID:f/bZCXoV>>308
ありがとうございます!
0310デフォルトの名無しさん
2014/03/28(金) 09:39:37.44ID:mS7OAMes以下コードではエラーがでてダメでした
import datetime
print("now" in datetime.datetime)
0311デフォルトの名無しさん
2014/03/28(金) 10:10:10.08ID:RG6zDzQP>>> hasattr(datetime.datetime, "now")
True
0312デフォルトの名無しさん
2014/03/28(金) 11:58:12.25ID:uNNog8Xcpyqtとかはできないですよね
0313デフォルトの名無しさん
2014/03/28(金) 17:49:49.76ID:6R0nhY/gQt の UIファイルも XML だよ
0314デフォルトの名無しさん
2014/03/28(金) 18:50:56.63ID:GeibCDDVデザインの細かい微調整はcssで書くんですか?
0315デフォルトの名無しさん
2014/03/28(金) 18:53:20.87ID:xiFoJHqm0316デフォルトの名無しさん
2014/03/28(金) 19:50:55.78ID:6R0nhY/gQt だったら、スタイルシートをサポートしてるので cssで書けます
微調整では、調整したい部分がスタイルのサポート外の項目だったりすると
独自にレンダリングする事になる場合もある。HTML/CSSと比べると若干限定的。
0317デフォルトの名無しさん
2014/03/28(金) 21:09:06.83ID:GeibCDDVおお、cssで書けちゃうんですね
挑戦してみたくなってきましたありがとうございます
0318デフォルトの名無しさん
2014/03/29(土) 17:15:57.51ID:HKwZs3/Zpythonスクリプト内でsys.path(インクルードパス)を追加し
自作モジュールを読み込んでいるのですが
Rubyからの呼び出しでは正常に動作するものの
PHPからはImportError(モジュール読み込み失敗)が発生します。
呼び出し側の言語によって挙動が異なる理由がわからず困っています。
# python(common.py - python2.6.6)
sys.path[:0] = ["my/libraries"]
import my.mod
# from my.mod import MyMod
# rubyスクリプト(CGI - ruby1.8.7)
IO.popen("python common.py","r") do |io|
while line = io.readline do
print line
end
end
# phpスクリプト(PHP - php5.4.5)
# ImportErrorが発生 No module named mod
$handle = popen("python common.py","r");
while ( $line = fgets($handle) ) {
echo $line;
}
pclose($handle);
0319デフォルトの名無しさん
2014/03/29(土) 17:44:21.80ID:kMhv0CS20320318
2014/03/29(土) 17:52:19.70ID:HKwZs3/Zスミマセン!実際のスクリプトでは絶対パスを指定しています。
申し訳ないですm(_ _)m
popenに渡すコマンドもcommon.pyの絶対パスを渡しています
0321318
2014/03/30(日) 19:28:15.56ID:5IXyOJ76自作ライブラリ(python)はCGIを意識したパーミッションにしてたのですが、
PHPに合ってなかったと思われます。
例外メッセージだけじゃなく、最初から詳細なトレースを見てれば・・・orz
それにしてもPIPEでつないだ別スクリプトが
呼び出し側の言語のその種の影響を受けるとは思いもしなかったです。
サーバ移転後の調整だったんですが、移動前は問題なかったので、
なんらかのサーバ設定が影響してるのかもしれません。
0322デフォルトの名無しさん
2014/03/30(日) 21:39:15.10ID:E0lDtgpr環境:Win7 Python3.3
本人:情報系ではなくバイオでプログラム歴ほぼなし
●やりたいこと
Setuptoolsインストール→Pillow インストール
pypi.python.org/pypi/setuptools#downloads (レベル不足でリンク不能)
からez_setup.pyをダウンロードして
ウインドウズコマンドラインから実行
→python33\Scripts のなかにeasy_install.exeなどができる
まではできたのですが
python3.3上で
>>>easy_install pillow
File "<Stdin>" line 1
easy_install pillow
^
とエラーがでてインストールされてないっぽいです
ぐぐったりはしたつもりですが、何でエラーがでてるかわかりません
ひどく初歩で申し訳ないのですがたすけてくださいm(> <)m
0323322
2014/03/30(日) 21:41:20.91ID:E0lDtgprエラーメッセージの^はpillowの下でした
0324デフォルトの名無しさん
2014/03/30(日) 21:59:08.26ID:dj4/IrM6コマンドプロンプトで easy_install pillow するんだお
もし easy_instal が見つからないとか言われたら PATH 環境変数に easy_install のある場所を記述する
やり方わからなかったらぐぐって
0325デフォルトの名無しさん
2014/03/30(日) 23:04:49.77ID:objtytT6http://pillow.readthedocs.org/en/latest/installation.html#windows-installation
(test_env) C:\Users\fox>python -V
Python 3.3.3
(test_env) C:\Users\fox>pip install Pillow==2.3.0
Downloading/unpacking Pillow==2.3.0
Installing collected packages: Pillow
Successfully installed Pillow
Cleaning up...
0326デフォルトの名無しさん
2014/03/30(日) 23:17:20.29ID:6RO/tmV/0327デフォルトの名無しさん
2014/03/30(日) 23:19:23.49ID:stNcjo4d0328デフォルトの名無しさん
2014/03/30(日) 23:45:51.68ID:UzyQXOYA0329322
2014/03/31(月) 00:08:13.87ID:qgORhrHFちょっと進んだっぽいーーちょーありがとおおー
しかし先が思いやられるよー
現状を報告
コマンドプロンプトでeasy_install pillow
ダウンロード、展開まではできるがインストールの時に
→error: Unable to find vcvarsall.bat
これを回避するためにVisual C++ 2008 Express Edition をインストールする(vcvarsall.batをげっと)
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VCにPATHを通す
vcvarsall.batをVS90COMNTOOLSの指してる場所にコピペ
などやってますが未解決
0330デフォルトの名無しさん
2014/03/31(月) 00:13:25.45ID:6HAWnxGB0331デフォルトの名無しさん
2014/03/31(月) 00:14:53.23ID:G6rvMnNuまあ>>330が言うように大人しくインストーラ付きを使うべき
0332デフォルトの名無しさん
2014/03/31(月) 00:33:47.87ID:y+1N86iAWindows でインストーラ付きというとこのへん?
http://www.lfd.uci.edu/~gohlke/pythonlibs/
0333デフォルトの名無しさん
2014/03/31(月) 00:49:39.07ID:u+KzIncY0334322
2014/03/31(月) 01:14:00.71ID:qgORhrHFpypi.python.org/pypi/Pillow/2.0.0から
Pillow-2.0.0.win-amd64-py3.3.exe (md5) をDL→インストール
で出来たっぽいです。みなさんほんとにありがとうございます><
Winつかうのがまちがってるのか??
0335デフォルトの名無しさん
2014/03/31(月) 01:23:48.09ID:6HAWnxGBみたら何かと面倒なのは確か。Mingwとかもっと成果でて欲しい。
0336デフォルトの名無しさん
2014/03/31(月) 01:24:32.78ID:Pu6KWQGV>>325みたいにpipじゃだめなん?
0337デフォルトの名無しさん
2014/03/31(月) 01:30:03.98ID:ZZGoN0RA0338322
2014/03/31(月) 01:48:22.69ID:qgORhrHFcygwinみてみます unixは10年以上前にちょっとだけさわって忘れたけど・・・
0339デフォルトの名無しさん
2014/03/31(月) 10:07:45.68ID:G6rvMnNuコンパイラ入ってないと駄目なのは変わらんが
0340デフォルトの名無しさん
2014/04/01(火) 14:20:18.36ID:PHZiz/BC一つのソースから、複数のリリースソースを自動生成しているんだけど、
不要な行を出力しないようにすると、行番号が変わってしまうし、
空行やコメントに置き換えると後工程の最適化処理で消えてしまう。
正直、このやり方自体よくないと思うんだが、権限なくてどうにもならん。
C系の言語で言うところの下のような文が書けると助かるんだけど
何かいい方法とか教えてもらえれば凄く助かる。
if (foo)
;
else
bar;
0341デフォルトの名無しさん
2014/04/01(火) 14:29:00.51ID:Vx4bzGi50342340
2014/04/01(火) 14:33:37.05ID:PHZiz/BCおお、感動するほど早いレスありがとう。
Simple statementsなんて項目あったのか。
完全にドキュメントの読み落しで恥ずかしい限り。
勉強することはいくらでもあって楽しみは尽きんね。
0343デフォルトの名無しさん
2014/04/02(水) 01:29:10.67ID:GGoraSqna = [None, None, None]
not [x for x in a if x]
とかくらいですかね?
0344デフォルトの名無しさん
2014/04/02(水) 01:47:20.88ID:KaQqEXPeすんげーダサいけど
set(a) == {None}
0345デフォルトの名無しさん
2014/04/02(水) 01:49:11.22ID:dJIwdhJEFalseや0でもいいならnot any(a)でいいと思うが
0346デフォルトの名無しさん
2014/04/02(水) 01:59:29.45ID:GGoraSqnありがとうございます。
any() は見落としてました。
re.search() の結果のチェックだけなので not any() で行けそうですありがとうございました。
0347デフォルトの名無しさん
2014/04/02(水) 23:27:14.84ID:UvZlR9+vmagic_coins = 70
stolen_coins = 3
coins = found_coins
for week in range(1,53):
coins = coins + magic_coins - stolen_coins
print('Week %s = %s' % (week,coins))
これは、python for kidsという洋書のプログラムです
子供用のものと思って見くびっていたら、ここでつまづきました。多分英語が読めてないから理解できないのだと思いますが
found_coinsは、20枚のコインを見つけたこと
magic_coinsは、週に70枚コインが増えること
stolen_coinsは、週に3枚コインが盗まれることを表します
質問なのですが
�@coins = found_coinsの意図、
�A coins = coins + magic_coins - stolen_coinsで、なんでcoinsを両辺に持ってくるのか
というか、全体的に理解できないです。宜しくお願いします。
0348347
2014/04/02(水) 23:34:22.35ID:UvZlR9+v週ごとのコインの枚数を、52週分求めようということです
一週間目は20+70*1-3*1=87枚のコインがある
二週間目は20+70*2-3*2=154枚のコインがあるということです
0349デフォルトの名無しさん
2014/04/02(水) 23:37:15.06ID:OWc61VjV1
coinsを初期化してるだけ
found_coinsがcoinsの初期値ってことじゃろ
2
coinsが一週間で67(magic_coins-stolen_coins)増えるって意味
coins+=magic_coins-stolen_coins
と同じ
0350デフォルトの名無しさん
2014/04/03(木) 00:01:58.53ID:qL+1iK2f>�A coins = coins + magic_coins - stolen_coinsで、なんでcoinsを両辺に持ってくるのか
Python に限らず手続き型プログラミング言語における記号「=」の意味は、
一般的な数学の「等しい」ではなくて、「右辺の式を評価した結果で左辺を書き換える」になる
いいかえると、この文は等式(あるいは方程式)とは、まったく関係ない
数学の世界だと、変数は一度初期化されれば二度と値が変化することなんてありえないけど、
プログラミングの世界だと、変数とは黒板みたいなもので、いくらでも書き換えできる
この文は、coinsその他変数の値を読み出し、計算し、黒板上に書かれたcoinsの欄を
黒板消しで消してから、その計算結果の値をチョークで書き込みなさい!!という
手順(=命令の並び)を表現している
0351デフォルトの名無しさん
2014/04/03(木) 00:16:28.04ID:vXbvxLOecoins = coins + magic_coins - stolen_coins
は
1:coins + magic_coinsを計算する
2:1の結果-stole_coinsを計算する
3:左辺のcoinsを2の結果に入れ替える
みたいな感じになる
0352347
2014/04/03(木) 00:19:28.63ID:XZtGZD8Zなぜ、このようにプログラムを組むと、coinsの値は変わらず、magic_coinsとstolen_coinsの値は変わるのですか?
0353デフォルトの名無しさん
2014/04/03(木) 00:25:56.83ID:23c/Tj4/0354デフォルトの名無しさん
2014/04/03(木) 00:47:07.43ID:uY8VKLbg> なぜ、このようにプログラムを組むと、coinsの値は変わらず、magic_coinsとstolen_coinsの値は変わるのですか?
ん?magic_coinsとstolen_coinsはまったく変わってないが?
coinsとweek以外は全部定数だよ
0355347
2014/04/03(木) 01:04:05.30ID:XZtGZD8Z逆にcoins = found_coinsは、20で不変なのではないですか?
0356デフォルトの名無しさん
2014/04/03(木) 01:04:05.58ID:ehwkpBqS現在PyScripterを使用しコードを書いているのですが
print("こんにちは世界")と書くとインプリンタの出力画面?実行画面で文字化けを起こします
現在
先頭行# -*- coding: utf-8 -*-
エディタのフォントをMSゴシックに設定
インプリンタオプションを選択、ここでまたフォントをMSゴシック
等対策をとっているのですが一向に改善されず困り果てています
なにか解決策などを指南していただけないでしょうか
0357デフォルトの名無しさん
2014/04/03(木) 01:19:29.31ID:QcFLxHFwかな
0358デフォルトの名無しさん
2014/04/03(木) 01:35:47.64ID:hnpj0u0+まず、その英語のPython for Kidsより先に、日本語のプログラミング入門書を読んで。
0359デフォルトの名無しさん
2014/04/03(木) 01:36:45.54ID:PJ3rnam6んん?
まず最初にコインを20枚見つけた
found_coins = 20
一週毎に増えるコインの枚数は70
magic_coins = 70
一週毎に盗まれるコインの枚数は3
stolen_coins = 3
コインの枚数の初期値は最初に見つけた20
coins = found_coins
52週後までのコインの枚数を一週毎に求める
for week in range(1,53):
その週に増えたコイン枚数の合計は、現在のコイン枚数+一週毎に増える70枚-一週毎に盗まれる3枚
coins = coins + magic_coins - stolen_coins
何週目かとコインの合計を表示
print('Week %s = %s' % (week,coins))
増えるのはcoinsとweekだけだよ?
0360デフォルトの名無しさん
2014/04/03(木) 01:43:07.64ID:ehwkpBqSありがとうございました
マルチバイト文字を使用する場合はユニコードに変換する必要があったんですね
0361デフォルトの名無しさん
2014/04/03(木) 01:44:34.85ID:hnpj0u0+それはちょっと違うと思うがw
0362デフォルトの名無しさん
2014/04/03(木) 02:08:15.34ID:QcFLxHFw#先頭に'-*- coding:utf-8 -*-'を記述,
#ファイルをutf-8で保存した上で
print(u'こんにちは世界'.encode('shift-jis'))
print('こんにちは世界'.decode('utf-8').encode('shift-jis'))
どっちも「こんにちは世界」と出力される
この違いを考えてみるといいよ
0363デフォルトの名無しさん
2014/04/03(木) 02:19:33.38ID:xLDtsOGn0364デフォルトの名無しさん
2014/04/03(木) 04:56:53.84ID:4dHMMlMM0365デフォルトの名無しさん
2014/04/03(木) 07:33:49.61ID:9rp45yLz暗黙に処理されることを期待するのが馬鹿
0366デフォルトの名無しさん
2014/04/03(木) 07:45:08.27ID:DXg21ULvprint("こんにちは世界")だけでCP932出力してくれる
ソースファイルの保存エンコードを理解してない>>356が悪い
0367デフォルトの名無しさん
2014/04/03(木) 09:29:37.34ID:CP8BnsY70368デフォルトの名無しさん
2014/04/03(木) 09:30:27.01ID:CP8BnsY7その通り
mintty使うがよい
0369347
2014/04/03(木) 11:38:15.25ID:XZtGZD8Z朝起きてよく見返して見てやっと分かりました
3000円くらいで買った本なのでここで挫折したくなかったので助かりました
英語の練習も兼ねてもう少し頑張ってみようと思います
ありがとうございます。
他の方もありがとうございました。
0370デフォルトの名無しさん
2014/04/03(木) 15:59:04.23ID:sTSI5mzlこのページ見てパケットキャプチャ作ろうとしているのですが
IPヘッダを人が見て分かるように変換する方法がわかりません
前から4ビット読み込んでversionとかだと思うんですけど
文字列なのか整数なのかわからないです
0371デフォルトの名無しさん
2014/04/03(木) 16:07:11.38ID:CP8BnsY70372デフォルトの名無しさん
2014/04/03(木) 17:54:36.05ID:Eq5358oBどうするのが主流なんでしょうか?
今はレンタルサーバー上で python app.py として動かしているのですが
これで何か問題はありますか?
0373デフォルトの名無しさん
2014/04/03(木) 18:26:32.13ID:joA71GZIPython for kidsは日本語訳版出てるから、そっち読んだほうがいい
http://www.amazon.co.jp/dp/4274069443
0374デフォルトの名無しさん
2014/04/03(木) 20:32:01.61ID:u+JhYDX/0375372
2014/04/03(木) 20:35:55.20ID:QUZ4kSS90376デフォルトの名無しさん
2014/04/04(金) 01:51:58.78ID:O3lvlP11端末に出力する時は、unicodeで出力し、
setdefaultencoding は使わず、実行環境側で環境変数 PYTHONIOENCODING を設定しよう。
encode/decodeが至る所に書かれてるようなコードは、保守性悪くなるし、
3.xへの移植の際に手間になります。
0377デフォルトの名無しさん
2014/04/04(金) 23:23:44.83ID:KFfZUTsFすいません自己解決しました
0378デフォルトの名無しさん
2014/04/05(土) 09:48:33.68ID:TeJAeAYQ0379デフォルトの名無しさん
2014/04/05(土) 10:13:01.27ID:WZplTJZwそれも営利企業が
馬鹿なこと言ってないでRubyを書くのです
0380デフォルトの名無しさん
2014/04/05(土) 10:51:18.19ID:XfiRYzuO圧力も何も、単純な市場原理だよ。
大きめの書店でRubyとPythonの書籍の数を比べてみな。
0381デフォルトの名無しさん
2014/04/05(土) 11:06:25.42ID:Ieizjxs7今まで自分が触れた範囲でRubyが必要になったことはないなぁ。
市場原理という点では最近のRuby推しは自分には理解できないなぁ。
0382デフォルトの名無しさん
2014/04/05(土) 11:14:21.97ID:2CjHSx4q0383デフォルトの名無しさん
2014/04/05(土) 11:16:04.73ID:2CjHSx4q0384デフォルトの名無しさん
2014/04/05(土) 11:30:44.27ID:WZplTJZwこんなとこでまでセカイセカイ願望を聞くと思わなかったよw
よほど現実に疎いらしいな
0385デフォルトの名無しさん
2014/04/05(土) 11:35:24.16ID:WZplTJZw手前のセセコマシイ世界の話なんて聞いてねえんだよ
見識がせまいですって自慢するのがPythonicなんですかねHAHAHA
0386デフォルトの名無しさん
2014/04/05(土) 11:52:00.72ID:m9Ov5TWt> 世界から孤立した言語圏の猿がなに言ってんの?
その理論だと世界から孤立した言語圏の猿が開発した言語なんてもっての他ですね
0387デフォルトの名無しさん
2014/04/05(土) 12:14:18.00ID:XfiRYzuO理解できないんじゃなくて、現実を認めたくない君の脳みそが
自己崩壊を防ぐために理解を拒んでいるんだよ。
現実を素直な目で見、受け入れること。
これができれば、何でもドンと来いと言える素敵な人間になれるよ。
0388デフォルトの名無しさん
2014/04/05(土) 12:47:48.62ID:j3AVkMKyhttp://toro.2ch.net/test/read.cgi/tech/1396153182/
0389デフォルトの名無しさん
2014/04/05(土) 13:16:25.61ID:WZplTJZwそこから出張してやってんだよ
誰が戻るか
0390デフォルトの名無しさん
2014/04/05(土) 23:23:56.31ID:TFFtPHBUコード
print("\u304b")
with open("test.txt", 'r') as f:
for line in f:
print(line)
実行結果
か
\u304b
使うファイル
http://www1.axfc.net/u/3215521.txt
0391デフォルトの名無しさん
2014/04/06(日) 00:31:21.40ID:3b5b87v30392デフォルトの名無しさん
2014/04/06(日) 00:38:48.53ID:Gk3ZXLUh... fp.write("か")
...
1
>>> with open("test.txt", "r") as fp:
... print(fp.read())
...
か
のtest.txtは"か"、http://www1.axfc.net/u/3215521.txtは"\u304b"
0393390
2014/04/06(日) 01:24:21.21ID:nZKlftefprint(b.decode('unicode-escape'))
これでできました
ありがとうございました
0394デフォルトの名無しさん
2014/04/06(日) 01:39:10.22ID:gYSiARiXprint( line.encode().decode('unicode_escape') )
でもいける
0395デフォルトの名無しさん
2014/04/06(日) 01:55:33.30ID:gYSiARiXprint( line.decode('unicode_escape') )
だけでよい
0396デフォルトの名無しさん
2014/04/06(日) 03:53:52.87ID:5J1lYPyfどうすればきれいな実装になる?
お願いします〜
0397デフォルトの名無しさん
2014/04/06(日) 07:45:40.45ID:wQyP8lyUa = [1,2,3]
[set(a) for i in range(len(a))]
解釈が違ったら具体例だして
0398デフォルトの名無しさん
2014/04/06(日) 09:39:13.45ID:5J1lYPyfありがとう解決した
おれがしたかったことは
[set([]) for i in range(len(a))]だったよ
0399デフォルトの名無しさん
2014/04/06(日) 09:59:28.36ID:oPgrbBb60400デフォルトの名無しさん
2014/04/06(日) 23:55:52.84ID:W/jk3jtoもちろん完全に隠せるともそうしたいとも思ってないものの、
普通のテキストファイルに平文でそのまま書く (consumer_key='ajg1j4ao41er')
のってちょっと気持ち悪いかなっていう気がしています。
なにか標準的な方法がありますか、
あるいは気にするべきでない(平文でそのまま書くのが良い)でしょうか?
どうせ大々的に使われるようなものではないので、本気でセキュリティ頑張るようなたぐいではないです
0401デフォルトの名無しさん
2014/04/07(月) 00:33:08.41ID:2Dx0rEhFスクリプトのコードを直接読まれる時点でサーバが脆弱性を抱えてる事になるのと、
パスワードの暗号化は複合化するのが難しい事が求められるので
質問自体がちょっと的外れになってる
ただ、WebAPIの認証に必要な情報は当然隠さないといけないから、スクリプトの中に含めるべきではない
設定ファイルをURIでアクセスできないところにおいて、configparserモジュール使ってよみこむようにする
バージョン管理ツールには実際の設定ファイルを登録しないで、サンプルの設定ファイルを登録する
0402デフォルトの名無しさん
2014/04/07(月) 00:41:32.54ID:axHHuueIふむふむありがとうございます.そういう感じでやってみます
0403デフォルトの名無しさん
2014/04/07(月) 12:18:42.51ID:7LBFjO6B0404デフォルトの名無しさん
2014/04/07(月) 12:26:31.55ID:KhripvKN0405デフォルトの名無しさん
2014/04/07(月) 12:41:10.04ID:oKRDb4uGこれかな
0406デフォルトの名無しさん
2014/04/07(月) 13:45:27.92ID:2RriIU54これが解ければ年収1000万ってやつ
CDFGみたいなアルファベット4つの組み合わせのやつ
0407デフォルトの名無しさん
2014/04/07(月) 13:55:18.06ID:KhripvKN問題を思い出したいのか
そりゃ失礼した
0408デフォルトの名無しさん
2014/04/07(月) 14:06:39.67ID:ktMnCtsu0409デフォルトの名無しさん
2014/04/07(月) 14:10:50.49ID:ktMnCtsudef perm(n, m):
... if m<1:
... yield()
... else:
... for r in perm(n, m-1):
... for x in xrange(n):
... if x not in r:
... yield r + (x,)
def create_word_list_p(n, s):
... return [''.join(s[i] for i in t) for t in perm(len(s), n)]
create_word_list_p(3, 'python') ['pyt', 'pyh', 'pyo', 'pyn', 'pty', 'pth', 'pto', 'ptn', 'phy', 'pht', 'pho', 'phn', 'poy', 'pot', 'poh', 'pon', 'pny', 'pnt', 'pnh', 'pno',
(省略)
'npy', 'npt', 'nph', 'npo', 'nyp', 'nyt', 'nyh', 'nyo', 'ntp', 'nty', 'nth', 'nto', 'nhp', 'nhy', 'nht', 'nho', 'nop', 'noy', 'not', 'noh']
0410デフォルトの名無しさん
2014/04/07(月) 14:13:14.64ID:ktMnCtsudef combi(a, b):
... if isinstance(a[0], tuple):
... return [x + (y,) for x in a for y in b]
... else:
... return [(x, y) for x in a for y in b]
def combination(*l):
... return reduce(combi, l)
def create_word_list(n, s):
... return [''.join(s[i] for i in t) for t in combination(*[xrange(len(s)) for j in xrange(n)])]
create_word_list(3, 'python')
['ppp', 'ppy', 'ppt', 'pph', 'ppo', 'ppn', 'pyp', 'pyy', 'pyt', 'pyh', 'pyo', 'pyn', 'ptp', 'pty', 'ptt', 'pth', 'pto', 'ptn', 'php', 'phy', 'pht', 'phh', 'pho', 'phn', 'pop', 'poy', 'pot', 'poh', 'poo', 'pon', 'pnp', 'pny', 'pnt', 'pnh', 'pno', 'pnn',
(省略)
'npp', 'npy', 'npt', 'nph', 'npo', 'npn', 'nyp', 'nyy', 'nyt', 'nyh', 'nyo', 'nyn', 'ntp', 'nty', 'ntt', 'nth', 'nto', 'ntn', 'nhp', 'nhy', 'nht', 'nhh', 'nho', 'nhn', 'nop', 'noy', 'not', 'noh', 'noo', 'non', 'nnp', 'nny', 'nnt', 'nnh', 'nno', 'nnn']
0411デフォルトの名無しさん
2014/04/07(月) 14:14:01.56ID:ktMnCtsudef perm(n, m):
... if m<1:
... yield()
... else:
... for r in perm(n, m-1):
... for x in xrange(n):
... if x not in r:
... yield r + (x,)
def create_word_list_p(n, s):
... return [''.join(s[i] for i in t) for t in perm(len(s), n)]
create_word_list_p(3, 'python')
['pyt', 'pyh', 'pyo', 'pyn', 'pty', 'pth', 'pto', 'ptn', 'phy', 'pht', 'pho', 'phn', 'poy', 'pot', 'poh', 'pon', 'pny', 'pnt', 'pnh', 'pno',
(省略)
'npy', 'npt', 'nph', 'npo', 'nyp', 'nyt', 'nyh', 'nyo', 'ntp', 'nty', 'nth', 'nto', 'nhp', 'nhy', 'nht', 'nho', 'nop', 'noy', 'not', 'noh']
0412デフォルトの名無しさん
2014/04/07(月) 15:55:52.44ID:J5/BeX+jcgios.com/recruit/index.html
これのコードをこのスレの何番目か忘れましたがcodepadだかideoneだかURLを書き込みしたんですよ
おれが書いたコードなんですがどこで貼ったか忘れたので知ってる方いませんかね
0413デフォルトの名無しさん
2014/04/07(月) 16:53:26.89ID:9yyss9BF0414デフォルトの名無しさん
2014/04/07(月) 17:35:50.06ID:J5/BeX+j掲示板なんだからさ
0415デフォルトの名無しさん
2014/04/07(月) 18:22:22.82ID:h3y43UyD爺「そうじゃったかのう…」
0416デフォルトの名無しさん
2014/04/07(月) 20:41:22.32ID:X16BwzyE0417デフォルトの名無しさん
2014/04/07(月) 20:44:41.93ID:cPHU7Y9Fスレを全部見て確認。それでも思い出せないならあきらめろ
0418デフォルトの名無しさん
2014/04/07(月) 21:56:40.20ID:Rnm3AbPS0419デフォルトの名無しさん
2014/04/07(月) 22:03:06.70ID:h3y43UyD0420デフォルトの名無しさん
2014/04/07(月) 22:33:06.18ID:5wZ1j6dN0421デフォルトの名無しさん
2014/04/07(月) 23:19:35.29ID:q+HemARZ全角の数字は半角にすると仮定
python2.7.5
Mac OS 10.9です
0422デフォルトの名無しさん
2014/04/07(月) 23:26:35.95ID:vR3IoiGJ0423デフォルトの名無しさん
2014/04/07(月) 23:49:01.91ID:q+HemARZごめんね。最近はじめたばかりなもんで。
unicodedata.normalizeは
import unicodedata
s = 'フガホゲ-%*@ABC'.decode('euc-jp')
n = unicodedata.normalize('NFKC', s)
print s.encode('euc-jp')
csvは
import csv
csvfile = open('hoge.csv', 'r')
reader = csv.reader(csvfile)
header = next(reader)
for row in reader:
print row
csvfile.close()
とか?
シンプルなサンプルコードはググればでるし
なんとなく理解できるだけど、二つを組み合わせようと思うとさっぱりわからんのさ。
0424デフォルトの名無しさん
2014/04/08(火) 00:04:59.16ID:lLYfakzY全角半角ならこっち
unicodedata.east_asian_width(chr)
http://docs.python.jp/3.3/library/unicodedata.html?highlight=east%20asian%20width#unicodedata.east_asian_width
Unicode Standard Annex #11
East Asian Width
http://www.unicode.org/reports/tr11/#Definitions
http://www.unicode.org/reports/tr11/images/tr11.h2.jpg
FとW
0425424
2014/04/08(火) 00:10:32.80ID:lLYfakzYhttp://docs.python.jp/2.7/library/unicodedata.html?highlight=east%20asian%20width#unicodedata.east_asian_width
0426デフォルトの名無しさん
2014/04/08(火) 11:35:58.62ID:fr68/BJc>>424
ありがとう。質問のしかたすらよくわかってないかも
unicodedata.east_asian_widthは全角半角を調べるものだよね?
自分のやりたい処理の流れはこんな感じです。
1.CSVを読み込む
2.ノーマライズ(正規化)する
3.printする
print unicodedata.normalize('NFKC',data)
とかすると
TypeError: must be unicode, not listで怒られるし。
文法がおかしいんだろうけど。どうやっていいか分からない
0427デフォルトの名無しさん
2014/04/08(火) 11:44:40.39ID:L7hFyRuv0428デフォルトの名無しさん
2014/04/08(火) 11:49:06.03ID:fr68/BJcこんな感じです。
# coding: utf-8
import csv
import unicodedata
f = open('hoge.csv', 'rb')
reader = csv.reader(f)
for data in reader:
print unicodedata.normalize('NFKC',data)
0429デフォルトの名無しさん
2014/04/08(火) 12:03:57.69ID:26VivQWCunicodedata.normalize が取る引数は unicode型の文字列
そのコードでは、(unicode型でない)文字列のリストを渡してる
* リストの要素毎にnormalizeを適用する
* 各要素の文字列は decode して unicode型に変換
0430デフォルトの名無しさん
2014/04/08(火) 12:34:40.32ID:fr68/BJcありがとう。何でだめなのか分かった。
でもレスしてもらった事をコードにする知識がまだないから出直してきます...
できないのがもどかしいけど、がんばります。ありがとう
0431デフォルトの名無しさん
2014/04/08(火) 17:04:51.24ID:1uiyPTpc[3, 1],
[2, 3],
[1, 2],
]
これを
1番目を基準にソートする方法
list1 = [
[1, 2],
[2, 3],
[3, 1],
]
2番目を基準にソートする方法
list1 = [
[3, 1],
[1, 2],
[2, 3],
]
forとifで複数行に書かないコードを教えてください
0432デフォルトの名無しさん
2014/04/08(火) 17:09:18.39ID:zuIQgCzzここに書いてある
http://docs.python.jp/2/library/functions.html#sorted
0433デフォルトの名無しさん
2014/04/08(火) 17:47:38.57ID:ziREpSsJ初心者だけどググッて調べるのがメンドクサイからオレ様に教えろくださいってやつか、
ただの質問厨だろ
まず、自分のpythonの環境や、どこまで調べて何が分からなかったか書いてから質問しろよ
0434デフォルトの名無しさん
2014/04/08(火) 17:54:30.49ID:zuIQgCzz0435デフォルトの名無しさん
2014/04/08(火) 19:41:38.76ID:MyudluU2日本の公式サイト?は全然進んでないし古すぎるし存在する意味があるのでしょうか?
0436デフォルトの名無しさん
2014/04/08(火) 20:02:18.23ID:Mbk16lr40437デフォルトの名無しさん
2014/04/08(火) 21:12:11.87ID:Qh3mpzXab'\x82\xa0'
>>> b"\x82\xa0".decode("cp932")
'あ'
となりますが82という数値から"\x82"をつくるにはどうすればいいのでしょうか
0438デフォルトの名無しさん
2014/04/08(火) 21:40:36.21ID:lzqz/lWbb = bytes([0x82, 0xA0])
print(b)
print(b.decode('cp932'))
0439デフォルトの名無しさん
2014/04/08(火) 21:45:17.40ID:Qh3mpzXaありがとうございます!
bytesってリストも引数にとれたんですね
0440デフォルトの名無しさん
2014/04/08(火) 21:47:57.78ID:rqqHIIZN0441デフォルトの名無しさん
2014/04/09(水) 07:53:21.44ID:oVNr0DOE0442デフォルトの名無しさん
2014/04/09(水) 14:07:51.72ID:gj8rQfUA0443デフォルトの名無しさん
2014/04/09(水) 14:16:56.95ID:zyxn12EM0444デフォルトの名無しさん
2014/04/09(水) 14:18:24.37ID:gj8rQfUA0445デフォルトの名無しさん
2014/04/09(水) 14:22:58.58ID:qA8ouB3T0446デフォルトの名無しさん
2014/04/09(水) 14:33:15.86ID:rnlf/mPK0447デフォルトの名無しさん
2014/04/10(木) 00:49:29.03ID:GmndHch1PHPならWordPress,Drupal,MediaWiki,Dokuwiki,joomlaなど
0448デフォルトの名無しさん
2014/04/10(木) 01:06:37.83ID:QISZ32jk0449デフォルトの名無しさん
2014/04/10(木) 01:11:29.41ID:2cJgY0lSpythonは既に終わった.Rubyも...。node.jsかPHPで探せ
0450デフォルトの名無しさん
2014/04/10(木) 01:23:49.83ID:h7PIzVk20451デフォルトの名無しさん
2014/04/10(木) 10:19:27.96ID:b9ngN5Kh最近 DB→固定HTMLを静的に生成
今 CMS
元に戻ってるだけなんだけどな
webクリエーター(ω)が
プログラマからデザイナになってまたプログラマに戻って来た感じ
0452デフォルトの名無しさん
2014/04/10(木) 12:31:13.17ID:Ia8pA1h1まあ何でやるかはサーバー環境次第な気がする。
0453デフォルトの名無しさん
2014/04/10(木) 12:56:10.96ID:Oeu7BhphPHPを選択する人にはWEB CREATORがたくさんいるからCMSがたくさんあるし良質なCMSが生まれるのはあたりまえ
PYTHONを選択する人にWEB CREATORが少ないし、PYTHONを触る人はPROGRAMMERだらけだからCMSの需要もないしCMSを作ろうと思う人がいないだけ
文化の違いだよ
0454デフォルトの名無しさん
2014/04/10(木) 13:06:56.30ID:Ia8pA1h1ちょっとした変換や整形で
PHPはコンソールでは使いにくいからPython使ってる。
0455デフォルトの名無しさん
2014/04/10(木) 13:38:29.65ID:9KdDCKXVつ tornado
0456デフォルトの名無しさん
2014/04/10(木) 14:53:43.35ID:N3vuTs560457デフォルトの名無しさん
2014/04/10(木) 17:04:01.58ID:b9ngN5Kh0458デフォルトの名無しさん
2014/04/10(木) 20:35:43.34ID:1wauUDTZ0459デフォルトの名無しさん
2014/04/10(木) 20:43:16.89ID:2cJgY0lS時代的に後手に回っただけ
pythonのコミュニティのWebサイトの方がPHP製よりレスポンシブなもの多い
PHPが何処でnode.jsとシェアが逆転するかは見もの。とりあえず、まだ、PHPで大丈夫。
0460デフォルトの名無しさん
2014/04/12(土) 16:29:34.97ID:9BvNkPAfimport re
s = 'abcdefg'
p1 = re.compile('file')
def henkan(data):
s = p1.search(data)
if s is not None:
return data
lists = []
lists.append(henkan(s))
print(lists)
---------------------------
上記のスクリプトを実行すると、listsに[None]がセットされてしまいます。
dataが正規表現に該当しない場合は、listsに何も追加したくないのですが
どこを直せばよいでしょうか。
0461デフォルトの名無しさん
2014/04/12(土) 16:54:35.80ID:VQjl7ezRワンライナーで!スマートな感じでオナシャス!
って付け加えておくといいぞ
0462デフォルトの名無しさん
2014/04/12(土) 17:16:19.93ID:12W5Y+Qh< lists = []
< lists.append(henkan(s))
---
> lists = [henkan(x) for x in [s] if henkan(x)]
> #lists = []
> #lists.append(henkan(s))
お礼なら、橋本環奈の画像でいいぞ
0463デフォルトの名無しさん
2014/04/12(土) 17:25:05.15ID:12W5Y+Qh0464デフォルトの名無しさん
2014/04/12(土) 17:28:20.54ID:kX21J11Q0465デフォルトの名無しさん
2014/04/12(土) 19:10:59.25ID:iNxrw8O2henkan(x) で副作用ですね判ります
0466デフォルトの名無しさん
2014/04/12(土) 19:29:36.93ID:bI+YYxdCfilter(re.compile(r"file").search, [s])
0467デフォルトの名無しさん
2014/04/12(土) 19:30:16.39ID:CfvLnu770468デフォルトの名無しさん
2014/04/12(土) 19:49:16.70ID:12W5Y+Qh0469デフォルトの名無しさん
2014/04/12(土) 21:11:51.23ID:DhQ3iHBt0470デフォルトの名無しさん
2014/04/12(土) 21:13:47.38ID:rzyqPrtx0471デフォルトの名無しさん
2014/04/12(土) 21:21:33.21ID:VQjl7ezRコピーしてくれば使えるかも
0472デフォルトの名無しさん
2014/04/12(土) 21:50:20.69ID:it5LcB+xhttp://docs.python.jp/3.3/library/wsgiref.html
0473デフォルトの名無しさん
2014/04/12(土) 22:06:31.81ID:DhQ3iHBtHTTPサーバーを書けってことですか?
0474デフォルトの名無しさん
2014/04/12(土) 22:10:56.63ID:VQjl7ezR仮にブラウザーならproxyを書けばいいですよ
とどのつまりはHTTPサーバーなんだけど
0475デフォルトの名無しさん
2014/04/12(土) 22:23:09.29ID:ymSFHhsjhttp://www.webtopi.net/2013/04/cookie.html
0476デフォルトの名無しさん
2014/04/14(月) 15:00:59.29ID:xS4sEbVl何でPythonって古いのがすきなんですか?
Pythonって日本で老人を優遇して若者を切り捨てるようなところが似てますね
だからPythonは日本で流行らないんではないのですか?
0477デフォルトの名無しさん
2014/04/14(月) 15:09:50.80ID:a6eUEmJs後でCとかで書き直す場合
2系の方が良い?それとも3で問題無し?
0478デフォルトの名無しさん
2014/04/14(月) 16:19:52.65ID:L1qK4Yv90479デフォルトの名無しさん
2014/04/14(月) 16:54:22.82ID:HEj1UG9r0480デフォルトの名無しさん
2014/04/14(月) 17:07:16.74ID:h3zVplbS自己紹介乙
0481デフォルトの名無しさん
2014/04/14(月) 17:10:30.31ID:qFq6vkYDいきなりCで書けばいいじゃないか
どうせCで書くことがわかっているなら
書き直してもいいくらいのみじかいものなら、ますます、最初からCで書けば良い
書き直すのが大変なほど長いものなら、無論、はじめからCで書けば良い
0482デフォルトの名無しさん
2014/04/14(月) 17:31:16.56ID:zz8UlIHg0483デフォルトの名無しさん
2014/04/14(月) 17:33:22.41ID:qFq6vkYD頭悪すぎるの?
0484デフォルトの名無しさん
2014/04/14(月) 17:44:21.83ID:zz8UlIHgまあPythonバインディングは大抵両方揃ってるでしょ。
0485デフォルトの名無しさん
2014/04/14(月) 18:11:35.40ID:zz8UlIHg0486デフォルトの名無しさん
2014/04/14(月) 18:50:48.42ID:gCs3v3ib0487デフォルトの名無しさん
2014/04/14(月) 21:33:04.37ID:rLRpFQlz0488デフォルトの名無しさん
2014/04/14(月) 21:45:37.16ID:2/dcBiw+それでポーカーのアプリとか作ってみたい
0489デフォルトの名無しさん
2014/04/14(月) 22:05:52.35ID:VFcs39e0一旦csvすべてをリストに格納して、加工したあとでまたリストで書き出すという手順がふつうなんでしょうか?
0490デフォルトの名無しさん
2014/04/14(月) 22:19:28.74ID:h8gOxJKf無能はレスするなよw
0491デフォルトの名無しさん
2014/04/14(月) 22:34:44.77ID:t8FejxEkよほどファイルが巨大でない限りそれが手っ取り早いんじゃね?
0492デフォルトの名無しさん
2014/04/14(月) 22:47:42.96ID:VFcs39e0そういうものなんですねありがとうございます!!
0493デフォルトの名無しさん
2014/04/14(月) 22:48:19.81ID:SDjC82p3書き換えて別ファイルに書き出してった方がメモリ食わなくて良いよ。
0494デフォルトの名無しさん
2014/04/15(火) 00:34:37.92ID:B5Kcw3DRぶふぁふぁ
いきなりCで書けないヘタレが俺を無能呼ばわり!!
ブファファ
0495デフォルトの名無しさん
2014/04/15(火) 09:32:10.42ID:emdW7oMD頭悪そう
0496デフォルトの名無しさん
2014/04/15(火) 09:51:46.88ID:b3iAuu/aここの所多いよな
春だからか?
0497デフォルトの名無しさん
2014/04/15(火) 10:22:19.84ID:6CXwLHVY笑止
0498デフォルトの名無しさん
2014/04/16(水) 23:37:01.36ID:kEIXDBLd面倒なので$PYTHONSTARTUPに以下を実行するファイルを指定してみたのですが、
import rlcompleter, readline
readline.parse_and_bind('tab: tab-insert')
readline.parse_and_bind('M-tab: complete')
TABキーは補完のままで変わりません。
シェル起動後に上記コマンドを入力するとちゃんとTABキーでTAB入力になります。
何が悪いんですかね?
試しに$PYTHONSTARTUPで指定してるファイルに
a = 'PYTHONSTARTUP is applied'
てのを追加して起動したら変数 a にはちゃんと文字列が代入されています。
0499デフォルトの名無しさん
2014/04/17(木) 03:24:35.15ID:ErQHAS8Skubuntu 14.04b2 標準の Python3.4.0 で同じ現象を確認。これかな bugs.python.org/issue5845
PYTHONSTARTUP 後に読み込まれる site.py で補完が有効になっるみたい
* site.py を読み込まないように、Python -S で起動する
* 端末なら C-v C-i のタブ入力で凌ぐ
* ipython を使う (smart indent)
0500デフォルトの名無しさん
2014/04/17(木) 12:00:56.74ID:ErQHAS8S3.4から、デフォルトで補完と履歴が有効になるみたいです。
訂正: PYTHONSTARTUP 後に読み込まれる site.py は、間違いでした。
ソース追いかけたところ、正確には
* site.py が読み込まれるのは、STARTUPの前
* site.py 内で、sys.__interactivehook__ が設定される
* STARTUPファイルが実行された直後に, sys.__interactivehook__ に設定された関数が呼び出される
0501デフォルトの名無しさん
2014/04/17(木) 12:26:06.52ID:fOb0+olhその補完候補をpythonスクリプトの中から取得する方法ってありませんか?
0502デフォルトの名無しさん
2014/04/17(木) 14:43:05.03ID:Ywmytdrhいろいろ調べてくださってありがとうございます。
sys.__interactivehook__ のデフォルト register_readline は履歴以外大したことしてないので、
>>498 を関数にして sys.__interactivehook__ に設定したらうまく行きました。
履歴は端末の履歴で十分なのでこれで満足です。
ありがとうございました。
>>501
http://docs.python.jp/3/library/rlcompleter.html#completer-objects
候補の順位を数値で指定しなければならないのがちょっとめんどい。
イテレータにしてほしい。
>>> import rlcompleter
>>> from itertools import count
>>> c = rlcompleter.Completer()
>>> for i in count(0):
... cand = c.complete('a', i)
... if cand:
... print(cand)
... else:
... break
...
and
as
assert
all(
abs(
any(
ascii(
0503デフォルトの名無しさん
2014/04/17(木) 23:22:53.59ID:YGl2/sA90504デフォルトの名無しさん
2014/04/18(金) 02:28:16.16ID:oooZYs7C0505デフォルトの名無しさん
2014/04/18(金) 21:06:16.41ID:tcldn7kl誘導されました
python で2chの書き込みツールを作っているのですが
xxxx.2ch.net/test/bbs.cgi へurlopenでRequestした後
書き込みの成功、失敗を判断する為、Response を読もうとするのですが
文字化けしてしまいます。
(「上記全てに承諾して書き込む」の後の画面)
HTTPヘッダでcharset が shift-jis なので、
body = response.read()
#body.decode('shift-jis') #こっちはエラー
body.decode('shift-jis','ignore') #こっち文字化け
で良さそうな気がしますが、何がダメなんでしょうか?
エラーは以下の通り
UnicodeDecodeError: 'shift_jis' codec can't decode bytes in position 1-2: illega
l multibyte sequence
0506デフォルトの名無しさん
2014/04/18(金) 21:43:00.16ID:8KmkbQh1ethereal でパケットの中身見たらいいんじゃね?
0507デフォルトの名無しさん
2014/04/18(金) 22:10:43.23ID:ohPGXVFi>>505さんの方で多少の修正が必要になりますが、
以下を実行して、b64の中身を教えてくれたら、
debug 手伝おうと思います。
私の実行環境は以下の通りです。
version = 3.3.2 (default, Nov 10 2013, 22:26:55)
[GCC 4.8.1]
import sys
import base64
if __name__ == "__main__":
print("version =", sys.version)
path = sys.argv[1]
f = open(path, "rb")
bin = f.read()
body = bin.decode("sjis")
body = bin.decode("sjis", errors="ignore")
f.close()
print("type(bin) =", type(bin))
print("type(body) =", type(body))
print("bin =")
print(bin)
print("body =")
print(body)
print()
print("b64 =")
b64 = base64.encodebytes(bin)
print(b64)
0508デフォルトの名無しさん
2014/04/18(金) 22:27:58.52ID:+dZHBcPJ取り敢えずレスポンスをファイルに保存してじっくり解析したら?
0509505
2014/04/18(金) 23:30:19.78ID:tcldn7klbody = gzip.decompress(body)
print(body.decode('shift_jis'))
とすれば解決しました。
0510デフォルトの名無しさん
2014/04/19(土) 01:17:21.06ID:AZrUcl7surllib じゃなくて httplib2 使いな。
くわしくは Dive into Python3 「HTTPウェブサービス」参照。
0511デフォルトの名無しさん
2014/04/19(土) 02:00:08.18ID:b0ELQeOM0512デフォルトの名無しさん
2014/04/19(土) 12:46:36.67ID:wssCKxB60513デフォルトの名無しさん
2014/04/19(土) 13:01:36.39ID:26Op87pw0514デフォルトの名無しさん
2014/04/19(土) 14:05:52.03ID:GQBbmsZAゴミだな
0515デフォルトの名無しさん
2014/04/19(土) 15:09:01.72ID:7EPIcXRA0516デフォルトの名無しさん
2014/04/19(土) 15:13:51.80ID:wssCKxB6どこぞから権利問題で訴えられたりするからな
0517デフォルトの名無しさん
2014/04/19(土) 16:04:09.99ID:aAVP1M1oGodJob
0518デフォルトの名無しさん
2014/04/19(土) 16:11:47.81ID:aNHEzIKZどうしてMySQL操作するドライバはちょっと探したら2個も3個も出てくるんだぜ?
0519デフォルトの名無しさん
2014/04/19(土) 16:16:24.34ID:wssCKxB6プログラムってのは開発者の思想表現の面もありますから
強制するだけ無駄です
0520デフォルトの名無しさん
2014/04/19(土) 17:01:52.17ID:7EPIcXRA日付の足し算もコーディング量はPHPのほうが少ない
0521デフォルトの名無しさん
2014/04/19(土) 17:18:04.49ID:wssCKxB6dateutil for humansが必要
0522デフォルトの名無しさん
2014/04/19(土) 18:20:42.40ID:n4cS9knU0523デフォルトの名無しさん
2014/04/19(土) 21:03:04.02ID:BsMcE1G9ImportError: No module named jsonとなりました。
レンサバなんですがモジュールはどう対処したらいいんでしょうか?
0524デフォルトの名無しさん
2014/04/19(土) 21:12:16.54ID:Z/EuslA20525デフォルトの名無しさん
2014/04/19(土) 21:18:13.62ID:Z/EuslA2ttp://www.emptypage.jp/notes/pymods-on-sakura.html
0526デフォルトの名無しさん
2014/04/19(土) 21:26:52.13ID:EcRD/M4fjsonは標準モジュールだろ
0527デフォルトの名無しさん
2014/04/19(土) 21:32:34.50ID:wssCKxB6CentOSの少し古い奴だとPythonが2.4なんだ
考えたくないが、その可能性は結構高い
0528デフォルトの名無しさん
2014/04/19(土) 21:46:44.07ID:wssCKxB6with使えねぇよぉ・・・ってなるぞ
0529デフォルトの名無しさん
2014/04/20(日) 01:18:04.55ID:36+Zfvxl0530デフォルトの名無しさん
2014/04/20(日) 05:17:24.12ID:c9knyKmKxreaなんですけど、確認したら2.4.3だったので入っていないようでした・・
SSHでezsetup.pyなどをダウンロードしてインストールすればいいんでしょうか?
この場合vertual pythonというのを使うんでしょうか?
http://php-sql-gdgd.jugem.jp/?eid=24
0531デフォルトの名無しさん
2014/04/20(日) 11:51:12.45ID:MMsuWwDZez_setup.pyはPyPiで配ってる2.4専用の奴しか使えないとか
virtualenvは2年前のしか使えないとか
一手順ごとに質問しないと何一つ成し得ないよ
まだ金払ってないなら別の鯖探した方がいい
0532デフォルトの名無しさん
2014/04/20(日) 12:05:28.24ID:MMsuWwDZその記事の日付2007年だからな
無理もない
0533デフォルトの名無しさん
2014/04/20(日) 14:49:41.62ID:c9knyKmKわかりました。サーバー変えてみます!ありがとうございます。
0535デフォルトの名無しさん
2014/04/20(日) 14:59:56.57ID:vv1MGqjgGoogle App Engineとか他にも探せば無料のクラウドがあるからxreaはやめとけ
0536デフォルトの名無しさん
2014/04/20(日) 17:51:44.45ID:iz5ZbLAl1であるかどうかを判断する手法として
if str(a).endswith('1'):
または
if a % 10 == 1:
の二通りがあると思いますが、どちらを使っても構わないですか?
どちらかに落とし穴やまずい点がありましたら教えてください
0537デフォルトの名無しさん
2014/04/20(日) 18:16:31.42ID:9t2QMCvM>>> str(12.1).endswith("1")
True
>>> 11.2 % 10 == 1
False
0538デフォルトの名無しさん
2014/04/20(日) 18:22:14.18ID:aTuYs0CD0539デフォルトの名無しさん
2014/04/20(日) 19:31:50.39ID:MMsuWwDZ0540デフォルトの名無しさん
2014/04/20(日) 19:34:31.00ID:MMsuWwDZ0541デフォルトの名無しさん
2014/04/21(月) 01:36:51.55ID:JnZQYt2Gインスタンス変数にアクセスする必要がないものは
全部staticmethodでいいだろうという認識なんですか間違ってますか?
0542デフォルトの名無しさん
2014/04/21(月) 07:57:00.90ID:ghdPIUckインスタンス変数にアクセスしないが、クラス変数にアクセスする場合は classmethod
インスタンス変数に加え、クラス変数にもアクセスしない場合に staticmethod
staticmethod の場合は、普通の関数にも出来るので、そもそもクラスに所属する必要があるかどうかも要検討。
静的解析ツールの pylint 使うと、通常のインスタンス・メソッド内で参照されてる変数を調べ、
どのメソッドにすべきか等の情報を指摘してくれます。
0543デフォルトの名無しさん
2014/04/22(火) 12:20:36.61ID:IhHvRISrphpでいうphp.iniでincludeするパスをしていしたらどこからでもそのパスに通ったファイルにアクセスできる設定っていうのはpythonでありませんか?
0544デフォルトの名無しさん
2014/04/22(火) 15:08:36.98ID:QveWaMVI0545デフォルトの名無しさん
2014/04/22(火) 19:07:23.74ID:yPJ3bUkb呼び出し元にも影響を与える副作用が発生しますが、それなのにわざわざ return で変更したオブジェクトを
返すというコードを書くと、
わざわざ返す必要もないものを返しててバカっぽく見えますか?
それとも明示することで人にやさしいコードだと思われますか?
それともミュータブルなオブジェクトを渡してそれを変更するようなコードを書くことがバカっぽく見えますか?
0546デフォルトの名無しさん
2014/04/22(火) 19:15:07.91ID:LQIWVMxGAndroidのapiはそれを多用してる
まあビルダーパターンの応用なんですがね
0547デフォルトの名無しさん
2014/04/22(火) 19:28:07.94ID:TGIyXoBO>ミュータブルなオブジェクトを渡してそれを変更するようなコード
checkioでは文句言われる。標準ライブラリでは、そういうのはあまり
見掛けない。heapqはそういうインターフェイスになってるケド…
0548545
2014/04/22(火) 23:29:44.65ID:yPJ3bUkb軽く調べただけだといまいちピンとこないのでもっと調べてみます。
>>547
標準ライブラリでは見た記憶がないなとは思っていましたがやはりよくあるというわけではないんですね。
例えばファイルを読み込んで既存の辞書に追加とかやろうとすると一気に全部読み込んでやりたくなるので
辞書を渡してそれに追加という関数書いてる時にくだんの参照渡しのこと思い出したので聞いてみました。
とすると、関数内で返り値用の辞書を作成して返し、呼び出し元で返り値を追加する、というやり方がマシと
いうことになりますかね?
0549デフォルトの名無しさん
2014/04/23(水) 03:22:11.53ID:83TeUg73副作用はテストが面倒になるので、可能なら避ける。
0550デフォルトの名無しさん
2014/04/23(水) 08:16:43.79ID:5vldvyzpa = [
0x06, 0x7A, 0x7B, 0x6A, 0x04, 0x05, 0x06, 0x07,
0x08, 0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x6A]
みたいなバイト数値のリストがあるとき
バイト列(文字列?)に変換するには?
0551デフォルトの名無しさん
2014/04/23(水) 09:40:26.05ID:T4x0zu0jlibncursesとreadlineはいれてます
0552デフォルトの名無しさん
2014/04/23(水) 09:58:40.26ID:cc+8j0TX3系を使えば以下の通り出来ますよ。
b"".join([int.to_bytes(x, 1, "big") for x in a])
>>551
import error の内容全てを貼って下さい。
0553デフォルトの名無しさん
2014/04/23(水) 10:15:17.97ID:eGodEcam>>> bytes(bytearray(a))
'\x06z{j\x04\x05\x06\x07\x08\x00\n\x0b\x0c\r\x0ej'
>>> "".join(map(chr, a))
'\x06z{j\x04\x05\x06\x07\x08\x00\n\x0b\x0c\r\x0ej'
>>> import array
>>> array.array("B", a).tostring()
'\x06z{j\x04\x05\x06\x07\x08\x00\n\x0b\x0c\r\x0ej'
0554デフォルトの名無しさん
2014/04/23(水) 10:22:31.13ID:83TeUg73bytes(bytearray(a)) や "".join(map(chr, a))
python3だと bytes(a)
0555デフォルトの名無しさん
2014/04/23(水) 10:52:18.07ID:Zk8CkSwdimport IPython
ret = IPython.core.completer.IPCompleter.all_completions("pri")
print(ret)
をやっても
TypeError: all_completions() missing 1 required positional argument: 'text'
になってしまいます
どう書いたらipythonが補完してくれる文字列を取得できますか?
0556551
2014/04/23(水) 12:15:07.16ID:x0vRXS3nTraceback (most recent call last):
File "test.py", line 1, in <module>
import curses
File "/home/kidotoyohiko/.pyenv/versions/3.4.0/lib/python3.4/curses/__init__.py", line 13, in <module>
from _curses import *
ImportError: No module named '_curses'
0557デフォルトの名無しさん
2014/04/23(水) 12:28:04.47ID:4Y/TGEFr0558デフォルトの名無しさん
2014/04/23(水) 12:28:57.34ID:2MvsKB65_curses がビルドされなかったとか?
もしそうなら Debian なら libncurses5-dev 入れて Python のビルドし直しとか
0559デフォルトの名無しさん
2014/04/23(水) 12:37:01.16ID:cc+8j0TXC拡張の_curses moduleがないって言ってる。
ImportError: No module named '_curses'
これはよく見ると、
"_" + "curses"
がないって言ってるよね
_ が先頭に付いたmoduleは慣例としてC拡張moduleを意味するんだ。
おそらく、ncursesやreadlineのheaderが存在しないために、
make しても _curses を作ってくれなかったんでしょう。
何のdistriを使っているか知らないけれど、
以下を実行した後に再度Python3.4を入れてみたら?
$ apt-get install libncurses5-dev libreadline-dev
or
$ yum install libncurses5-dev libreadline-dev
どうやってPython installしたの?
0560デフォルトの名無しさん
2014/04/23(水) 12:43:42.31ID:x0vRXS3n両方共はいっています
aptitude showで確認しました
でもエラーが出るので困りましたorz
ググってもこのふたつのパッケージを入れろっていうのしか見つからなくてお手上げです
0561デフォルトの名無しさん
2014/04/23(水) 12:44:12.39ID:x0vRXS3n0562デフォルトの名無しさん
2014/04/23(水) 12:51:30.84ID:x0vRXS3nお騒がせしました
0563デフォルトの名無しさん
2014/04/23(水) 14:57:42.28ID:7aM6c74C暗号化する文字と暗号化キーの長さ関係なくポンってやってくれるやつないの?
見つからなくてすごくイライラしています。
0564デフォルトの名無しさん
2014/04/23(水) 15:13:19.12ID:83TeUg73IPCompleterのインスタンスを作らずにメソッド呼び出してる.
get_ipython().complete("pri")
0565デフォルトの名無しさん
2014/04/23(水) 16:21:38.85ID:Cg/J0z310566デフォルトの名無しさん
2014/04/23(水) 18:37:33.51ID:B15hE1J5simple-cryptって見つけたけどこれはどうですか
python crypt simpleでくぐったら出てきました
たぶん10秒強だと思います
0567545
2014/04/23(水) 20:09:38.22ID:AXbtitX6ありがとうございます。ジェネレータってこういう時に使えばいいんですね勉強になります。
複数種類あるデータの取り込みを全部ジェネレータやイテラブルにしたら呼び出し元のコードもスッキリしました。
自分のPythonレベルが1あがったのを実感してます。
どうもありがとうございました!
0568デフォルトの名無しさん
2014/04/23(水) 22:29:54.63ID:83TeUg73import や %cd の補完は、それぞれ別の関数に別れてるみたい。
from IPython.core.completerlib import module_completion
他のは、ソース (IPython/core/interactiveshell.py) 読んで
0569デフォルトの名無しさん
2014/04/23(水) 22:31:54.16ID:B15hE1J50570デフォルトの名無しさん
2014/04/24(木) 20:18:01.71ID:GL+Jj+fHhttp://www.amazon.co.jp/dp/4274069443/
こんな本出てた。
0571デフォルトの名無しさん
2014/04/25(金) 01:33:12.54ID:sQaSn0qfamazon.comの方の評価もなかなか高いみたいだし、期待できそう
0572デフォルトの名無しさん
2014/04/25(金) 10:25:06.77ID:foRzXOyh0573デフォルトの名無しさん
2014/04/25(金) 10:38:10.44ID:U1CUcQTm0574デフォルトの名無しさん
2014/04/25(金) 11:14:44.14ID:zhMbF1rR0575デフォルトの名無しさん
2014/04/25(金) 11:15:18.36ID:TtkNide30576デフォルトの名無しさん
2014/04/25(金) 11:35:16.70ID:MeVawPgZ0577デフォルトの名無しさん
2014/04/25(金) 12:14:32.51ID:IMABWYJaamazon.comの方の評価 ってどこで見れるの?
0578デフォルトの名無しさん
2014/04/25(金) 12:27:56.12ID:xA8gnquPhttp://www.amazon.com/dp/1593274076/
0579デフォルトの名無しさん
2014/04/25(金) 12:49:55.35ID:foRzXOyh0580デフォルトの名無しさん
2014/04/25(金) 12:52:41.32ID:jPmvuOB60581デフォルトの名無しさん
2014/04/25(金) 12:58:44.18ID:TtkNide30582デフォルトの名無しさん
2014/04/25(金) 13:16:03.98ID:aHKuD/MU0583デフォルトの名無しさん
2014/04/25(金) 18:27:00.19ID:RdjQOdo4wxpythonで、任意のpanelに乗っているチェックボックスなんかを全部なめたいんですが、どうすればよいですか?
0584デフォルトの名無しさん
2014/04/25(金) 18:36:53.28ID:3JzI94aW0585デフォルトの名無しさん
2014/04/25(金) 18:53:26.48ID:N1wjd4Qq0586デフォルトの名無しさん
2014/04/25(金) 18:56:18.96ID:uTNXJi7n時代はpyqtかpysideさ
0587デフォルトの名無しさん
2014/04/25(金) 19:57:23.89ID:+cZx5GYM0588デフォルトの名無しさん
2014/04/25(金) 20:49:33.88ID:PenQPx71旬は知らないが 3.4/3.4 でも動くphoenix ってプロジェクトがある
>>583
[x for x in panel.GetChildren() if isinstance(x, wx.CheckBox)]
0589デフォルトの名無しさん
2014/04/25(金) 20:54:23.54ID:PenQPx71GetChildrenで子要素を走査する場合は、レイアウトの都合で構造が変わったりする際の注意が必要です
動的にウィジェットを追加・削除したりしないなら >>585の方法が簡単。嵌りそうなケースを一点補足すると
親要素が削除された後に list に参照が残ってるとまずい場合があるので、直接listへ入れずに 弱参照(weakref) を使うといい
0590デフォルトの名無しさん
2014/04/26(土) 01:11:16.14ID:1o60mw720591デフォルトの名無しさん
2014/04/26(土) 11:57:11.65ID:ciZFgagp0592デフォルトの名無しさん
2014/04/26(土) 12:31:33.45ID:Qdi0GyvQ世間一般的には似た意味だろうけど
0593デフォルトの名無しさん
2014/04/26(土) 13:57:17.70ID:iEtSJYGQPython3.3を新しいPCにインストールしてC:\Python33を上書きコピーだと新しくインストールしたモジュールが認識されないようなのです
0594デフォルトの名無しさん
2014/04/26(土) 14:19:04.16ID:ruklCRJGを実行して表示される directory 以下を全部持って行ったら?
新しい方でも同じ directory 構成にしてやってさ。
駄目だったらごめんなさい。
windows 持ってないから勘で言ってみました。
0595デフォルトの名無しさん
2014/04/26(土) 14:23:38.72ID:ruklCRJG>>> import sys
>>> import argparse
>>> sys.modules["argparse"]
<module 'argparse' from '/usr/lib/python3.3/argparse.py'>
ってやると>>593さんのお目当てのmoduleがどこにいるか分かるでしょ?
古い方の実行環境で argparse を適当に変えてやるといいよ。
0596デフォルトの名無しさん
2014/04/26(土) 15:25:31.98ID:iEtSJYGQやってみます
ありがとうございます
0597デフォルトの名無しさん
2014/04/26(土) 17:19:14.75ID:nbOBlRDBarray = [u"あ","2","b"]
このようにuをつければdbに出力できるんですが、リストはかなりの数ある為一つ一つつける事もできません。
このような場合どうすればいいでしょうか?
#-*-coding: utf-8 -*-
import sqlite3
key = "tablename"
array = ["あ","2","b"]
con = sqlite3.connect("data.sqlite")
con.text_factory = str
try:
con.execute('''create table %s
(key varchar(200))''' % key)
except sqlite3.OperationalError, msg:
pass
con.executemany(u"insert into %s values(?)" % key, array)
con.commit()
con.close()
0598デフォルトの名無しさん
2014/04/26(土) 17:59:53.61ID:Qdi0GyvQそれがPython2のリスクですから
全部付けるんですよ無理やり
0599デフォルトの名無しさん
2014/04/26(土) 18:48:58.21ID:pOq6nB/hエラーを再現できるスクリプトを貼ってほしい
あと OS と Python のバージョンも
0600デフォルトの名無しさん
2014/04/26(土) 18:52:02.57ID:Ig+FOWFu真エラーもあるの?
0601デフォルトの名無しさん
2014/04/26(土) 19:08:21.45ID:Qdi0GyvQexecutemanyのsqlがunicodeになってるだろ
utf8の「あ」は 0xE3 0x81 0x82 だから、自動変換に任せるとデフォルトエンコーディングで解釈する
ここでデフォルトエンコーデイングがasciiだと、待望のUnicodeError様とご対面だ
デフォルトエンコーデイングは環境によって違うから、
君のようにエラーが再現しないこともある
で、これは初心者が十分理解できることか?
俺は無理があるように思う
0602デフォルトの名無しさん
2014/04/26(土) 19:22:34.63ID:pOq6nB/hよくわかんないけどこれでいい?
% python2 -c 'import sys; print sys.getdefaultencoding()
ascii
% python2 hoge.py
Traceback (most recent call last):
File "hoge.py", line 15, in <module>
con.executemany(u"insert into %s values(?)" % key, array)
sqlite3.ProgrammingError: Incorrect number of bindings supplied.
The current statement uses 1, and there are 3 supplied.
0603デフォルトの名無しさん
2014/04/26(土) 19:24:49.86ID:pOq6nB/h0604デフォルトの名無しさん
2014/04/26(土) 19:40:09.88ID:wOzSsX9a状況解らないけど、文字列がソース中にリテラルとして表記されてるなら
from __future__ import unicode_literals
0605デフォルトの名無しさん
2014/04/26(土) 20:18:56.42ID:ruklCRJGvim なら、
:%s:\( \|\[\)":\1u":g
とか。
sed 使えるんなら、
$ echo '["あ", "い", "う"]' | sed -e 's/\(\[\| \)"/\1u"/g'
とか。
python2 で頑張ろうとするんじゃなくて、
editor や command で頑張るところですね。
0606デフォルトの名無しさん
2014/04/26(土) 20:44:57.23ID:nbOBlRDBfor k in range(0,len(array)):
con.execute(u"insert into %s values(?)" % key, (str(array[k]),))
0607デフォルトの名無しさん
2014/04/26(土) 21:08:26.50ID:pq0IYiMffor文の使い方だけとりあえずつっこんでおく、Pythonでは下のように書いてほしい
for item in array:
con.execute(u'insert into %s values(?)' % key, (str(item),))
0608デフォルトの名無しさん
2014/04/26(土) 22:10:24.20ID:/AQZrpM30609デフォルトの名無しさん
2014/04/27(日) 14:24:37.71ID:YlDj6z0zで、他からimportされた場合最初に1回だけ実行したい処理(ファイルの読み込み)があるのですが、
どういうふうにやらせるのがいいでしょうか?
ためしに変数の定義しないで、
if 'valiable' not in locals():
valiable = load_data()
としてみたのですが、呼び出す度に毎回実行されるようです。
このためだけにクラス用意して __init__() つけるとかになるでしょうか?
0610デフォルトの名無しさん
2014/04/27(日) 14:29:02.51ID:t+MJ1nRe0611デフォルトの名無しさん
2014/04/27(日) 15:09:20.79ID:hzlsg62qname = ["abc","cde","fgh","ijk","banana","ringo","lmn"]
list = ["4","5"]
0612デフォルトの名無しさん
2014/04/27(日) 15:17:57.39ID:6kmnG/6w0613デフォルトの名無しさん
2014/04/27(日) 15:42:02.38ID:Gk7OlrEC["4", "5"] を使って ["abc","cde","fgh","ijk","banana","ringo","lmn"] から
["apple", "banana"] を取得したいってこと? だとしたら
>>> names = ['abc', 'cde', 'fgh', 'ijk', 'banana', 'ringo', 'lmn']
>>> indices = ["4", "5"]
>>> [names[int(i)] for i in indices]
['banana', 'ringo']
ちなみに変数名に list を使うのはやめたほうがいい。同名の組み込み関数がある
0614デフォルトの名無しさん
2014/04/27(日) 16:01:51.21ID:hzlsg62qありがとうございます。
あと説明不足ですみません。
nameというリストから"banana","ringo"を削除したいんです。
delで削除しようとしても、一つを削除した時点でnameのインデックスが変わってしまう為、二つ目を削除する際にずれてしまいます。
kekka = ['abc', 'cde', 'fgh', 'ijk', 'lmn']
0615デフォルトの名無しさん
2014/04/27(日) 16:19:50.03ID:Gk7OlrEC>>> indices = [int(e) for e in ["4", "5"]]
>>> indices
[4, 5]
>>> [e for i, e in enumerate(names) if not (i in indices)]
['abc', 'cde', 'fgh', 'ijk', 'lmn']
0616デフォルトの名無しさん
2014/04/27(日) 16:50:27.22ID:MDiuu1Tvif __name__ != '__main__':
# 他からimportされたときに実行する処理
0617デフォルトの名無しさん
2014/04/27(日) 16:52:32.58ID:hzlsg62qできました。本当にありがとうございます。
0618デフォルトの名無しさん
2014/04/27(日) 17:30:29.91ID:8sAVWWVU動作中のスレッドにデータを渡したいです
一番簡単なのはなんでしょうか?
0619デフォルトの名無しさん
2014/04/27(日) 18:14:26.71ID:/Vr961xn0620デフォルトの名無しさん
2014/04/27(日) 18:40:39.41ID:8sAVWWVUありがとうございます
0621609
2014/04/27(日) 21:36:47.22ID:YlDj6z0z説明不足ですいません。importされた先で何度も呼び出されます。
1個のHTMLを解析するスクリプトと、それを呼び出して複数のHTMLを解析するラッパーという構成です。
0622デフォルトの名無しさん
2014/04/28(月) 00:18:39.80ID:jSM3SIljimportされたときに一度だけ行う処理はスクリプトのどこに書かれていますか?
>>616のif文は関数やメソッドの中ではなく、モジュールレベルに書くことを想定しています。
もし可能なら問題を再現できるコード片をください。
0623デフォルトの名無しさん
2014/04/28(月) 01:02:22.16ID:fZsvZ1ZDそんな何でも屋な立ち位置のファイルを作るべきではない
ライブラリはライブラリとしてきちんと分けて設計しろ
0624609
2014/04/28(月) 01:56:11.06ID:un3xGM8Z> importされたときに一度だけ行う処理はスクリプトのどこに書かれていますか?
それをどこにどう書くのがいいのか、という質問です。
>>623
すいません、「何でも屋な立ち位置」の意味がわからないです。
0625デフォルトの名無しさん
2014/04/28(月) 02:15:44.20ID:6+nhvyWj# ここから
モジュールの中身
# ここまで
if __name__ != '__main__':
if hajimete:
hajimete = False
# 他からimportされたときに実行する処理
0626デフォルトの名無しさん
2014/04/28(月) 02:16:41.14ID:IapKpiurqueを別のモジュールから使用する為には
queue操作用のメソッドをつくることが必要ですか?
0627デフォルトの名無しさん
2014/04/28(月) 04:09:11.55ID:jSM3SIljimportされたときに一度だけ実行する処理は
実行可能&他からimportされるスクリプトのファイル最終行に>>616のように書いて下さい。
しかしながら>>623の通り、コマンドライン等から実行されるコードと
他からimportして使うためのコードは別のファイルに分けるべきです。
0628デフォルトの名無しさん
2014/04/28(月) 09:13:57.32ID:GX32FLG+-m オプションはそのためのものだし。
一度だけ呼び出されるというのが、関数なのかモジュールなのかで齟齬がありそう。
import されたモジュールは sys.modules にキャッシュされるので、>>616の通りに
トップレベルに書いてグローバル変数にしておけば、複数個所から import されても何度も呼び出されることはない。
何度も呼び出されるってことは、モジュールのimportでなくて、モジュール内で定義した関数内の事を言ってるのかな?
0629デフォルトの名無しさん
2014/04/28(月) 09:16:52.96ID:GX32FLG+初期化の処理は関数にして、importする側で明示的に呼び出した方がいい or クラスにする。
初期化処理のテストをどう書くのか、初期化処理が投げる例外を何処でどのように捕捉するかを考えよう。
0630デフォルトの名無しさん
2014/04/28(月) 10:00:21.62ID:oM5O+ScdパーフェクトPythonは糞だな
痒いところに手が届かないどころか要領を得ないから
空飛ぶPythonを参照しながら推理し試行錯誤してる
何のために本を買ってるのか
読んでてイライラする
0631デフォルトの名無しさん
2014/04/28(月) 10:47:34.72ID:ES7XWIWl0632デフォルトの名無しさん
2014/04/28(月) 11:05:29.43ID:Xuk0naTKなぜPerlを追い抜いたのか
0633デフォルトの名無しさん
2014/04/28(月) 11:25:28.64ID:JkAfPWWw0634デフォルトの名無しさん
2014/04/28(月) 11:42:52.48ID:UNN8IQVN0635デフォルトの名無しさん
2014/04/28(月) 12:04:42.55ID:woaHBf5qちょっとした事にサッと使える身軽さが受けた
0636デフォルトの名無しさん
2014/04/28(月) 14:56:59.98ID:yQ3pEQ+0ソフトウェア作るプログラム言語としては致命的な欠陥ばかりで、
似たような動的言語のpythonの方に軍配が上がっただけのこと
今もうnode,json,npm,html5があるからjavascriptが優勢な世界
そろそろTIOBEのランキングもPHP,Rubyを差し置いてjavascriptが上にくるはず
0637デフォルトの名無しさん
2014/04/28(月) 15:04:29.92ID:sLIIqVQo0638デフォルトの名無しさん
2014/04/28(月) 17:19:52.24ID:6+nhvyWjそういう意味では
みんなのpython
もひどかった
0639デフォルトの名無しさん
2014/04/28(月) 17:20:48.07ID:6+nhvyWjjavascriptの方が異常
0640デフォルトの名無しさん
2014/04/28(月) 17:28:01.19ID:U36yltXP「空飛ぶ」と比較するとweb関連の情報が多かったのとアマゾンの評価を参考にして今「パーフェクト」の方を先に読んでいます。
「空飛ぶ」のレビューにオブジェクト指向について理解し辛い内容だと書いてあった事も後回しにした理由になりました。
そんなに糞ですか?
0641デフォルトの名無しさん
2014/04/28(月) 18:01:28.13ID:6+nhvyWj0642デフォルトの名無しさん
2014/04/28(月) 18:46:37.79ID:UNN8IQVN0643デフォルトの名無しさん
2014/04/28(月) 18:58:07.82ID:CKTMNTmkdata = [1,2,3]
data_b = struct.pack(">3L",data)
これを実行すると
struct.error: pack requires exactly 3 arguments
と表示されてうまく動作しません。どのように書けば正常に動きますか?
0644デフォルトの名無しさん
2014/04/28(月) 19:05:15.39ID:UNN8IQVN0645デフォルトの名無しさん
2014/04/28(月) 19:07:22.69ID:7wTtlT3Kそれはいわゆる2ch語?
0646デフォルトの名無しさん
2014/04/28(月) 19:19:29.31ID:sLIIqVQodata_b = struct.pack(">3L", *data)
0647デフォルトの名無しさん
2014/04/28(月) 19:29:32.94ID:CKTMNTmkありがとうございます!動かしたかった通りに動作しました
0648デフォルトの名無しさん
2014/04/28(月) 22:33:35.85ID:G/O2/oE+0649デフォルトの名無しさん
2014/04/28(月) 23:57:21.14ID:GKxWJmab0650デフォルトの名無しさん
2014/04/29(火) 01:15:01.45ID:0NWBsE/Pそれを達成できるライブラリが見つかりません><
ご存知でしたら教えてください><困ってます><
0651デフォルトの名無しさん
2014/04/29(火) 01:41:34.15ID:Ac+DDlB00652デフォルトの名無しさん
2014/04/29(火) 11:03:20.42ID:LqsKRBzG0653デフォルトの名無しさん
2014/04/29(火) 11:14:34.09ID:b2HTM3GX0654デフォルトの名無しさん
2014/04/29(火) 11:21:08.89ID:b2HTM3GXこんなの出てたんだ
http://jp.techcrunch.com/2012/08/11/20120810python-for-microsoft-excel-company-ironspread-comes-out-of-beta-changes-name-to-data-nitro/
Excel立ち上げるの面倒なんで使わないけど
0655デフォルトの名無しさん
2014/04/29(火) 11:32:42.15ID:LqsKRBzGファイルを編集してmakeするの面倒臭い
0656デフォルトの名無しさん
2014/04/29(火) 12:38:55.97ID:/8ksTu7P0657デフォルトの名無しさん
2014/04/29(火) 16:26:39.01ID:sF/VyXd1現状:
コピーツイート→本ツイート→添付URL
本来:
本ツイート→添付URL
一手間増やされてる上に、
全てのツイートにURLが貼ってあるので紛らわしい。
完全にスパムだと思う。
0658デフォルトの名無しさん
2014/04/29(火) 16:28:29.24ID:pvgpWpOeahooに報告した方が良いよ
0659デフォルトの名無しさん
2014/04/29(火) 17:05:20.19ID:f21EMJNH0660デフォルトの名無しさん
2014/04/29(火) 17:28:13.46ID:pvgpWpOe0661デフォルトの名無しさん
2014/04/29(火) 17:46:20.52ID:VGBInRA40662デフォルトの名無しさん
2014/04/30(水) 11:25:10.11ID:qL4VKq+5[1, 2]とするにはどうしたらいいですか?
0663デフォルトの名無しさん
2014/04/30(水) 11:29:28.73ID:VN1cl4Xq0664デフォルトの名無しさん
2014/04/30(水) 11:29:31.13ID:qL4VKq+5これでできましたがもっといい方法がありそうな気がします
0665デフォルトの名無しさん
2014/04/30(水) 11:30:32.67ID:qL4VKq+5なるほどmap()使うんですね。ありがとうございます
0666デフォルトの名無しさん
2014/04/30(水) 11:31:34.04ID:4l7lcAfFまあ超クール超スマート病は誰もが通る道だからいいか
0667デフォルトの名無しさん
2014/04/30(水) 11:38:40.24ID:Dz5tUa2gmap(operator.itemgetter(0),[(1,),(2,)])
あたりかね
0668デフォルトの名無しさん
2014/04/30(水) 11:41:01.12ID:VN1cl4Xq0669デフォルトの名無しさん
2014/04/30(水) 11:42:15.30ID:niJ1Wu+Q>>> list(chain.from_iterable([(1,), (2,)]))
[1, 2]
0670デフォルトの名無しさん
2014/04/30(水) 13:42:28.32ID:qDU1aJn6例えば、商品リストなんかを読み込んで1行1行処理していく際、商品ごとに違う処理をしたいとき、
ソースにいちいち書くのではなく、設定ファイル(ini等)で独自の処理方法フラグを立てておいて追加・削除・変更したいんです。
■設定ファイルの中身のイメージ
りんご = 値段が150円以上か? True = 廃棄 False = 〜〜〜
きゅうり = 賞味期限内か? True = 〜〜 False = 廃棄
■処理のイメージ
りんごが来たら、
if 値段 >= 150:
.....処理 という関数・クラスを作って、次にりんごが来たら、ここに投げる
きゅうりがきたら
if 現在 <= 賞味期限:
.......処理 という関数・クラスを作って、次にきゅうりが来たら、ここに投げる
0671デフォルトの名無しさん
2014/04/30(水) 13:47:43.53ID:zr4NNN350672デフォルトの名無しさん
2014/04/30(水) 14:12:30.88ID:KiF3OpGMlmgtfyドットcom/?q=python+ini
0673デフォルトの名無しさん
2014/04/30(水) 15:41:43.73ID:PIfgHTSl0674デフォルトの名無しさん
2014/04/30(水) 22:02:28.32ID:OX3ssC8vイジワル…
>>672
iniの読み書きの方法は質問してないです…
0675デフォルトの名無しさん
2014/04/30(水) 22:05:05.69ID:upmIhAH50676デフォルトの名無しさん
2014/04/30(水) 22:16:41.83ID:EonfyA0Y0677デフォルトの名無しさん
2014/04/30(水) 22:17:48.64ID:J10kvOd6出来るか出来ないかなら出来る
0678デフォルトの名無しさん
2014/04/30(水) 22:22:55.02ID:EonfyA0Yフライ級パターンになるかな?商品コードをハッシュキーとした配列を作り、
メソッドまたはオブジェクトの参照をデータに持たせとく、みたいな。
0679デフォルトの名無しさん
2014/05/01(木) 02:57:47.74ID:7Ucklgi4list ( map ( lambda x : x , [ (1), (2) ] ) )
#一般化すると
f = lambda t : list ( map ( lambda x : x , t ) )
f ( [ (1), (2) ] )
0680デフォルトの名無しさん
2014/05/01(木) 02:59:46.91ID:7Ucklgi4書き忘れた
python3の場合
0681デフォルトの名無しさん
2014/05/01(木) 03:04:54.20ID:7Ucklgi4間違えていた
取り消し
0682デフォルトの名無しさん
2014/05/01(木) 05:20:30.35ID:yXdss1R6list(sum([(1,),(2,)], ()))
(stackoverflow.com/questions/10632839/)
0683デフォルトの名無しさん
2014/05/01(木) 07:55:09.84ID:cGpV8GIn今までで最高です!
0684デフォルトの名無しさん
2014/05/01(木) 10:49:58.90ID:HVeqsQe10685デフォルトの名無しさん
2014/05/01(木) 17:41:51.91ID:7C5boMZl「AをB」と「BをA」にそれぞれ変換する関数をつくってください。
1byte(8bit)の内、数値に7bit、 次のバイトもデータバイトが続くかどうかのフラグに1bit用いる。
フラグにはMSB(第7bit)を用いる。
最大4バイト。つまり、実際に表現できる数値の最大値は228-1。
以下具体例。左Aが数値(16進)で、右Bが可変長形式での表現(16進)。
00000000 → 00000000
00000040 → 00000040
0000007F → 0000007F
00000080 → 00008100
00002000 → 0000C000
00003FFF → 0000FF7F
00004000 → 00818000
00100000 → 00C08000
001FFFFF → 00FFFF7F
00200000 → 81808000
08000000 → C0808000
0FFFFFFF → FFFFFF7F
0686デフォルトの名無しさん
2014/05/01(木) 17:46:13.28ID:7C5boMZlこの例だと可変長になってませんね。
訂正です。
00000000 → 00
00000040 → 40
0000007F → 7F
00000080 → 8100
00002000 → C000
00003FFF → FF7F
00004000 → 818000
00100000 → C08000
001FFFFF → FFFF7F
00200000 → 81808000
08000000 → C0808000
0FFFFFFF → FFFFFF7F
Aの最大値は0FFFFFFFで、
Bの最大値はFFFFFF7Fです。
なおBの下位1バイトのMSB(第7bit)は終端マーク(0)になります。
0687デフォルトの名無しさん
2014/05/01(木) 17:47:27.16ID:HVeqsQe10688デフォルトの名無しさん
2014/05/01(木) 17:49:18.83ID:U31MyfYF2348239582149135905430923709738457483792373478+587798023749857902374239750374970923749702357120でも桁がおかしくなりませんでした
でもsys.maxsizeで9223372036854775807が返って来ました
pythonって多倍長整数に対応しているのかしてないのかどっちなんですか?
0689デフォルトの名無しさん
2014/05/01(木) 17:56:21.66ID:HVeqsQe1sys.maxsizeは整数型のサイズとは「今となっては」関係ないです
http://docs.python.jp/2/library/sys.html
>sys.maxsize
>プラットフォームの Py_ssize_t 型がサポートしている最大の正の整数。したがって、リスト、文字列、辞書、その他コンテナ型の最大のサイズ。
http://docs.python.jp/3.3/library/sys.html
>sys.maxsize
>Py_ssize_t 型の変数が取りうる最大値を示す整数です。通常、32 ビットプラットフォームでは 2**31 - 1、64 ビットプラットフォームでは 2**63 - 1 になります。
0690デフォルトの名無しさん
2014/05/02(金) 01:10:39.08ID:Wo9ulV/e0691デフォルトの名無しさん
2014/05/02(金) 17:59:18.19ID:XSE+HkNuvar a = {}
a.data = 100;
a.c = {};
a.c.data = {};
こういうふうに変数を . で書く方法ってありませんか?
0692デフォルトの名無しさん
2014/05/02(金) 18:16:54.93ID:W03gpRcOprint(hensu[0]) # エラー
たしかキーを省略したら自動的にインデックスに数字が連番で割り振られるってどこかで読んだんですが取得できません
どうやってしゅとくするのですか?
0693デフォルトの名無しさん
2014/05/02(金) 18:32:07.88ID:dMAtXV24class XXX:
pass
a = XXX()
a.data = 100
a.c = {}
までならできるが、そういうこと?
a.c.data = {} は、a.c['data'] = 100 とかになってしまうが
0694デフォルトの名無しさん
2014/05/02(金) 18:33:37.75ID:dMAtXV24hensu = list({1,2,3})
print(hensu[0]) # 1
0695デフォルトの名無しさん
2014/05/02(金) 19:01:15.16ID:5GZTQA+Qa[0] = 1
この時、数字のキーを入力しないで追加する方法はありませんか?
追加する回数が不定なのでlistのappendみたいにキーを意識しない方法を教えてください
0696デフォルトの名無しさん
2014/05/02(金) 19:02:15.45ID:xFsSQgLgその答えはしらんけど、
その hensu は辞書じゃなくて集合だから。
0697デフォルトの名無しさん
2014/05/02(金) 19:14:40.55ID:r6YwAWfo0698デフォルトの名無しさん
2014/05/02(金) 19:46:05.78ID:lTgUivNz無理。
キーがないのにどうやって辞書として使うつもりなの?
0699デフォルトの名無しさん
2014/05/02(金) 19:48:08.56ID:uRHIBdJb>>> a = []
>>> a.append(1)
>>> a
[1]
0700デフォルトの名無しさん
2014/05/02(金) 20:17:37.06ID:/sFyFYZQ無理やりやった
def dict_append(dict_, value):
dict_[max(dict_)+1 if dict_ else 0] = value
d = {}
dict_append(d, 'foo')
0701デフォルトの名無しさん
2014/05/02(金) 20:19:19.59ID:YufhjRlQ{}を辞書と集合で使い回しているせいで混乱してるような気がする。
集合なら、
new_set = {1, 2}
new_set.add(3)
print(new_set)
{1, 2, 3}
トリッキーなのは、
new_set = set() #空集合
new_set.add(1) #失敗する。
辞書なら、「キーを意識しないで」要素を追加することはできない。
キーが単にユニークな何かでいいのであれば、辞書をやめてリストを使えばいい。
0702デフォルトの名無しさん
2014/05/02(金) 20:38:55.44ID:VjC1l6GqPython 3.3.2 (default, Nov 10 2013, 22:26:55)
[GCC 4.8.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> new_set = {1, 2}
>>> new_set.add(3)
>>> print(new_set)
{1, 2, 3}
>>> st = set()
>>> st.add(3) # 成功。。。
>>> print(st)
{3}
成功いたしましたが。。。
0703デフォルトの名無しさん
2014/05/02(金) 22:10:34.14ID:YufhjRlQ何だかsetを渡すべき所に整数を渡した、みたいなエラーが出たんだ。
0704デフォルトの名無しさん
2014/05/02(金) 22:47:56.32ID:u8MYwIxSの簡潔な書き方ってありますか?
(0, 0) < (x, y) < (2, 2)
とかやろうとすると
0 < x < 2 or 0 < y < 2
になっちゃうのですが
0705デフォルトの名無しさん
2014/05/02(金) 22:55:36.35ID:r6YwAWfoall(0 < e < 2 for e in (x, y))
0706デフォルトの名無しさん
2014/05/02(金) 23:08:30.72ID:r6YwAWfo0707デフォルトの名無しさん
2014/05/03(土) 09:34:19.58ID:q6SnZRBs以下の例では要素の三番目が要らないので、「ココ」として示している行で
残す要素(一番目と二番目の要素)を個別指定してタプルを作っている。
しかしこの方法の問題点は、残す要素数が多い場合に記述が長くなってしまうことである。
何か良い方法はないだろうか。
namedtupleを継承したクラスを作り、line._delete(z)みたいに使えるメソッドを追加すれば
よいのだろうが、クラスをいじるスキルがない。
-----------------------------------
from collections import namedtuple
a = [(1,'data1','atr1'), (2,'data2','atr2')]
named_rec = namedtuple('sample', 'x y z')
b = []
for line in map(named_rec._make, a):
b.append((line.x, line.y)) ←ココ
print(b)
-----------------------------------
0708デフォルトの名無しさん
2014/05/03(土) 10:52:02.37ID:meEVb04md = ['z']
b = []
for line in map(named_rec._make, a):
b.append(tuple(getattr(line, c) for c in line._fields if c not in d))
とか?
0709デフォルトの名無しさん
2014/05/03(土) 11:36:02.68ID:QF+ScwSC0710デフォルトの名無しさん
2014/05/03(土) 13:36:49.89ID:UmrjxM8O> 何か良い方法はないだろうか。
本気なら、>>707さんは、dict 使うべきだと思いますが。
0711デフォルトの名無しさん
2014/05/03(土) 13:39:39.21ID:HbUH8akr0712デフォルトの名無しさん
2014/05/03(土) 13:41:27.86ID:/IR7wR5K0713デフォルトの名無しさん
2014/05/03(土) 13:59:59.81ID:CePx9Yr3namedtuple -> 辞書は、v._asdict() や vars(v) で変換できるよ
タプル、辞書から値を纏めて取り出すにはoperator.itemgetter が便利。
v = namedtuple('sample', 'x y z')(1, 2, 3)
itemgetter(*[x for x in v._fields if x not in {'z'}])(vars(v))
0714デフォルトの名無しさん
2014/05/03(土) 14:23:18.41ID:/IR7wR5K0715デフォルトの名無しさん
2014/05/03(土) 15:29:10.28ID:q6SnZRBsいやまさにそれが目的で使ってる。
Pythonにおいて要素への名前アクセスをするには
クラスではなくnamedtupleが推奨と以前ここで見たので。
でも要素を削除する必要がある場合には向かないようだね。
operatorモジュールは取っつきにくくて避けてたんだけど、この機会に足掻いてみるよ。
0716デフォルトの名無しさん
2014/05/03(土) 16:09:45.35ID:/IR7wR5Kこれコピペして使えばいい
http://stackoverflow.com/questions/4984647/accessing-dict-keys-like-an-attribute-in-python
0717デフォルトの名無しさん
2014/05/03(土) 16:31:54.81ID:CePx9Yr3属性を動的に追加・削除するのは、
ソースの静的解析やエディタの補完で困るのであまりやらない。
要素を削除というか、単純なデータの変換処理だったら
変換後のデータも同じ様にnamedtupleを定義しておくと良い。
A = namedtuple("A", "x y z")
B = namedtuple("B", "x y")
assert set(B._fields) <= set(A._fields), "A does not fill all B fields"
a = map(A._make, [(1,2,3), (4,5,6), (7,8,9)])
b = map(attrgetter(*B._fields), a)
0718デフォルトの名無しさん
2014/05/03(土) 22:08:48.30ID:t1k5Xg6dバイナリをprintしようとしたのですがうまく行かず困っています
0719デフォルトの名無しさん
2014/05/03(土) 22:56:09.94ID:/IR7wR5Kimport sys, os, msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
sys.stdout.write()
# py3
import sys
sys.stdout.buffer.write()
らしい
お酒でくらくらするから試す気なし!
0720デフォルトの名無しさん
2014/05/03(土) 22:59:07.30ID:coRaMBbp3.x系ではioは不要
import io
f = io.open(1, 'wb')
f.write(b'foo')
f.flush()
f.detach()
0721デフォルトの名無しさん
2014/05/03(土) 23:06:23.50ID:t1k5Xg6dどちらでもうまくいきました!
ありがとうございます
0722デフォルトの名無しさん
2014/05/03(土) 23:35:38.42ID:by71bbn3typesモジュールのSimpleNamespaceおすすめ
3.3からないけど、ちょっと書くだけで同じようにできる
0723デフォルトの名無しさん
2014/05/04(日) 01:34:53.35ID:fWNF7dW3Pythonがわかりやすくて、いろいろできると聞いたので選びました。
デコレーターってのが意味わかりません
www.isl.ne.jp/pcsp/python/python26.html
このページの
# デコレーター関数定義
def deco(f):
def in_deco():
print('before')
f()
return in_deco
# デコレーターを指定
@deco
def func():
print('decorate')
# 関数funcを実行
func()
f()から下がまったく理解できません。
f()とreturn、@deco、の関係性がわかりません。
助けて・・・
0724デフォルトの名無しさん
2014/05/04(日) 01:43:14.53ID:u7YJsxKqhttp://www.isl.ne.jp/pcsp/
↑に
> Javaを学んだ方が次にPythonを学ぶためのコンテンツです。
ってあるけど、Javaで一通りプログラミング学んでるのが前提のコンテンツっぽいよ
0725デフォルトの名無しさん
2014/05/04(日) 02:02:44.07ID:fWNF7dW3もしかして、デコレーターって初心者にとってはそんなに重要じゃない構文っぽい感じですか?
0726デフォルトの名無しさん
2014/05/04(日) 02:07:37.16ID:eLppgy1ddef func(): pass
これは
def func(): pass
func = deco(func)
と同じ意味になる、というのがデコレータ
0727デフォルトの名無しさん
2014/05/04(日) 02:09:07.63ID:3yZ8GKpR最初はライブラリで用意されているデコレーターを使えるようにするといいと思う
0728デフォルトの名無しさん
2014/05/04(日) 02:10:57.65ID:3yZ8GKpR最初はライブラリで用意されているデコレーターを使えるようにするといいと思う
0729デフォルトの名無しさん
2014/05/04(日) 02:13:30.49ID:3yZ8GKpR0730デフォルトの名無しさん
2014/05/04(日) 02:34:17.12ID:fWNF7dW3あっ、そういうことですか。ありがとうございます。
f()にfunc()が来てそれをreturnで返して
func()で出力するみたいなイメージで大丈夫ですか?
なんとなく掴んだので続きやってみます。
>>729
まだライブラリがなんなのかわかんないですw
0731デフォルトの名無しさん
2014/05/04(日) 03:09:00.29ID:fWNF7dW3またよくわからないことが出てきました。
デコレーターに引数を使うときって
@deco(False)
def func(): pass
////////////////
func() = deco(func)ではなくって
func() = deco(False)になる感じですか?
あと、
@deco
@deco
の処理の仕方というか、裏ではどんな感じで動いてるというか、
構造がイマイチわかりません。
(*args, **kwds)が一体何のためにあるのかもわかりません。
0732デフォルトの名無しさん
2014/05/04(日) 03:13:40.62ID:eLppgy1d下のは
func = deco(deco(func))
0733デフォルトの名無しさん
2014/05/04(日) 03:30:38.19ID:fWNF7dW3助かりました。
本当にありがとうございます。
0734デフォルトの名無しさん
2014/05/04(日) 03:35:47.48ID:eLppgy1ddocs.python.jp/2.7/reference/compound_stmts.html#def
0735デフォルトの名無しさん
2014/05/04(日) 03:44:28.00ID:3yZ8GKpRhttp://www.isl.ne.jp/pcsp/python/python26.html
サンプルプログラムの*argsと**kwdsはデコレーターと無関係、サンプルとして余計な部分
最後4のdecoで大事な部分だけ抜き出すと
def deco(f):
def deco1():
return f() * 2
return deco1
0736デフォルトの名無しさん
2014/05/04(日) 04:25:44.94ID:fWNF7dW3うぉ。
頑張って基礎用語習得して、ググって自力で理解できるように精進します^^;
>>735
関係ないんですね、よかった。
ありがとうございます。
0737デフォルトの名無しさん
2014/05/04(日) 11:13:50.72ID:fWNF7dW3if a < 2:print(u"素数ではない")
elif a % 1 != 0:print(u"素数ではない")
elif a == 2:print(u"素数である")
elif a % 2 == 0:print(u"素数ではない")
else:
for x in range(3,a + 1):
for y in s:
if x % y ==0:
break
if a % x == 0 and x != a:
print(u"素数ではない")
break
else:
s.append(x)
if a in s:
print(u"素数である")
なんでif a % x == 0 and x != a: breakダメなの?(´・ω・`)
0738デフォルトの名無しさん
2014/05/04(日) 12:06:59.88ID:fWNF7dW3a = 代入する値
for x in range(3,a + 1):
>for y in s:
>>if x % y ==0:
>>>break
>if a % x == 0 and x != a:
>>print(u"素数ではない")
>>break
>else:
>>s.append(x)
if a in s:
>print(u"素数である")
vipprog.net/wiki/exercise.html#o8db2119
0739デフォルトの名無しさん
2014/05/04(日) 12:17:26.51ID:ksC+5kIHprint(None is not re.match("abc","testabc"))
何故この正規表現パターンではマッチしないのですか?
"testabc"を"abctest"にしたらヒットしました
パターン"abc"は"^abc"と同じなんですか?
PCREではこれでヒットするはずなんですがPythonの正規表現でこうなるのは何故ですか?
0740デフォルトの名無しさん
2014/05/04(日) 12:27:00.65ID:iExgxp9PPython offers two different primitive operations based on regular expressions:
re.match() checks for a match only at the beginning of the string, while
re.search() checks for a match anywhere in the string (this is what Perl
does by default).
>>739さん
> パターン"abc"は"^abc"と同じなんですか?
re.match() では同じです。
PCREは知りませんが、察するに、search() を使えば
>>739さんのご希望に沿えるのではないでしょうか?
0741デフォルトの名無しさん
2014/05/04(日) 14:16:34.34ID:la1aUhzavirtualenv で、heroku用の仮想環境を作ろうとしています。
インストールと仮想環境のactivateまではできました。
IDEで使う場合は、仮想環境のインタプリタを指定すればいいのでしょうか。
逆に言うと、環境を切り替えるたびにインタプリタを選択し直さないといけないのでしょうか。
仮想環境はアプリごとに作成するイメージかと思っていたのですが、これでは切り替えが大変そうだと感じています。
0742デフォルトの名無しさん
2014/05/04(日) 16:54:04.48ID:/ciZwNf1逆に言えば、その辺が分からないうちはまともに使いこなせないでしょう
0743デフォルトの名無しさん
2014/05/04(日) 21:17:13.57ID:BMIVG0Uu{"age":33,"name":"oosaki"},
]
a2 = [
{"age":33, "name":"teshima"},
]
各リストに複数の辞書があるものとお考えください
a1とa2のnameキーの値を取り出して
a3 = ["oosaki", "teshima"]
ってやりたいです
僕はfor i in a1+a2: a3.append(i["name"])って書いたんですが、これってリストのサイズが巨大だったらメモリ使用量も増えるので効率悪い気がします
他にどんな書き方ができるのか教えてください
0744デフォルトの名無しさん
2014/05/04(日) 21:36:38.94ID:xA5nmMXsfor i in a: a3.append(i["name"])
0745デフォルトの名無しさん
2014/05/04(日) 21:51:16.36ID:3yZ8GKpRリスト同士をつなげるにはitertools.chainが使える
あと一つずつlistに追加していく書き方より内包表記の方が短く書ける
import itertools
a3 = [d['name'] for d in itertools.chain(a1, a2)]
0746デフォルトの名無しさん
2014/05/04(日) 22:03:44.59ID:BMIVG0Uuいろんなやりかたがあるんですね勉強になりました
最後にもう一点質問したいのですがa3に元のリストのインデックスも入れたい場合、
こういうふうには書けましたが、リストをつなげてループする時にインデックスを取得するのは不可能と思っていいですか?
for i, v in enumerate(a1):
a3.append([i, v["name"]])
for i, v in enumerate(a2):
a3.append([i, k["name"]])
0747デフォルトの名無しさん
2014/05/04(日) 22:18:04.12ID:xA5nmMXsfor i, v in enumerate(a):
a3.append([i, v["name"]])
import itertools
a3 = [[i, d['name']] for i, d in itertools.chain(enumerate(a1), enumerate(a2))]
0748デフォルトの名無しさん
2014/05/04(日) 22:19:45.74ID:t3Tu5YU1index = 1
if index < len(a1):
print a1[index]
else:
print a2[index - len(a1)]
無理やりやるならこんな感じかな
0749デフォルトの名無しさん
2014/05/04(日) 22:26:52.34ID:BMIVG0Uuありがとうございます
質問してよかったです
0750デフォルトの名無しさん
2014/05/05(月) 04:40:06.89ID:V3vcFv9Ydpaste.com/2MAMCN6/
デバックで鍛えられた気がする
0751デフォルトの名無しさん
2014/05/05(月) 07:18:20.03ID:cHX/h0cwcProfileモジュールやシェルのtimeコマンドで計測すると分かってもらえると思う
import sys
a = 12277
if a < 2:
print(a, 'is not a prime number.')
sys.exit()
for i in range(2, a):
if a % i == 0:
print(a, 'is not a prime number.')
sys.exit()
print(a, 'is a prime number.')
0752デフォルトの名無しさん
2014/05/05(月) 07:20:57.08ID:cHX/h0cw0753デフォルトの名無しさん
2014/05/05(月) 08:20:26.38ID:7UNz02if2014年05月05日 22時37分という風に変換したいのですが
調べていろいろしてもうまくいきませんでした。お詳しい方教えてほしいです。
0754デフォルトの名無しさん
2014/05/05(月) 09:16:12.13ID:438PWgy8a = '2014-05-05T22:37:16+09:00'
b = a.split('T')
date = b[0].split('-')
time = b[1].split(':')[:2]
DATE = '{}年{}月{}日'.format(*date)
TIME = '{}時{}分'.format(*time)
print(DATE + ' ' + TIME)
0755デフォルトの名無しさん
2014/05/05(月) 10:22:20.12ID:KDTZ9ePvちなみにどういうコードを書いたのか教えて
0756デフォルトの名無しさん
2014/05/05(月) 12:07:13.25ID:qzGHizbC{"name": "A", "w":200, "h":10},
{"name": "B", "w":100, "h":10},
{"name": "c", "w":100, "h":20},
{"name": "d", "w":200, "h":20},
]
array.sort()
これの結果はこうなりますが
[{'name': 'B', 'w': 100, 'h': 10},
{'name': 'c', 'w': 100, 'h': 20},
{'name': 'A', 'w': 200, 'h': 10},
{'name': 'd', 'w': 200, 'h': 20}]
第一優先wが小さい順、第二優先hが大きい順になるように下のようにソートするにはどうやればいいんでしょうか?
[{'name': 'c', 'w': 100, 'h': 20},
{'name': 'B', 'w': 100, 'h': 10},
{'name': 'd', 'w': 200, 'h': 20}
{'name': 'A', 'w': 200, 'h': 10},
]
0757デフォルトの名無しさん
2014/05/05(月) 12:18:03.84ID:VYxUQVAfarray.sort(key=lambda x: x['h'], reverse=True)
array.sort(key=lambda x: x['w'])
0758デフォルトの名無しさん
2014/05/05(月) 12:30:56.66ID:7UNz02ifありがとうございます!関数でさくっと書けるのかと思ってたんですが
そうでもないんですね。
>>755
http://memo.yomukaku.net/entries/ousMbZn
このサイトの下の方のrfc3339の変換の所とかです。
0759デフォルトの名無しさん
2014/05/05(月) 12:41:58.65ID:Vmp3/Ttsオフセットを単に無視していいのであればこれでいいのかも
>>> from datetime import datetime
>>> t = datetime.strptime('2014-05-05T22:37:16+09:00'.split('+')[0], '%Y-%m-%dT%H:%M:%S')
>>> t
datetime.datetime(2014, 5, 5, 22, 37, 16)
>>> print u'%d年%d月%d日 %d時%d分' % (t.year, t.month, t.day, t.hour, t.minute)
2014年5月5日 22時37分
0760デフォルトの名無しさん
2014/05/05(月) 15:31:14.89ID:k18S6kVxdel a[0]
print a[0] # 2
削除するとシーケンスが前に詰まるんですが
a[1]が2、a[2]が3を維持してa[0]だけ削除する方法を教えてください
0761デフォルトの名無しさん
2014/05/05(月) 15:39:01.91ID:UFfFm3fq0762デフォルトの名無しさん
2014/05/05(月) 15:50:05.31ID:VmBcg0a4a[0] = None
0763デフォルトの名無しさん
2014/05/05(月) 16:58:40.05ID:k18S6kVx0764デフォルトの名無しさん
2014/05/05(月) 17:09:14.91ID:8DpUAbkTまず「削除」の意味を説明してから。
そしてだれかしらに「馬鹿」と呼ばれるかもしれないという心の準備。
0765デフォルトの名無しさん
2014/05/05(月) 17:11:08.58ID:Vmp3/Tts0766デフォルトの名無しさん
2014/05/05(月) 17:19:41.94ID:k18S6kVx$a = [1,2,3];
unset($a[0]);
var_dump($a);
/*
array(2) {
[1] =>
int(2)
[2] =>
int(3)
}
*/
0767デフォルトの名無しさん
2014/05/05(月) 17:23:32.47ID:k18S6kVxもしかしa[0] = Noneの事で反応されたのでしたらそれは削除ではありません
a = [0,1,2]
print len(a) # 3
a[0] = None
print len(a) # 3
これだとNoneで初期化という意味ですから・・・
削除が何を意味するかは既にコードに書いて有りますので割合します
0768デフォルトの名無しさん
2014/05/05(月) 17:27:10.92ID:psAfZxcPとなることを希望してるんだろうな、、、
0769デフォルトの名無しさん
2014/05/05(月) 17:27:43.15ID:psAfZxcPとなることを希望してるんだろうな、、、
0770デフォルトの名無しさん
2014/05/05(月) 17:29:37.78ID:075cSel20771デフォルトの名無しさん
2014/05/05(月) 17:42:26.85ID:eaEmMsOFvirtualenvは環境変数が変わることで環境を切り替えるんですね。
その発想がありませんでした。
ということはIDEのインタラプタと環境変数をvirtualenv用に書き換えればいけそうですね。
そして少し調べた結果、IDEでプロジェクトを作成すれば、プロジェクトごとに上記
切り替えができそうなこともわかりました。
こんな感じで試してみようと思います。
なにか、勘違い等指摘ありましたらおねがいします。
0772デフォルトの名無しさん
2014/05/05(月) 18:00:33.62ID:xdltUMHs0773デフォルトの名無しさん
2014/05/05(月) 18:04:41.28ID:Vmp3/Ttsならやっぱりこうだろう
>>> from collections import OrderedDict
>>> d = OrderedDict(enumerate([1, 2, 3]))
>>> d
OrderedDict([(0, 1), (1, 2), (2, 3)])
>>> del d[0]
>>> d
OrderedDict([(1, 2), (2, 3)])
>>> d[1], d[2]
(2, 3)
0774デフォルトの名無しさん
2014/05/05(月) 18:10:20.94ID:gFU9YLV8>>> a = {1:0,2:1,3:2}
>>> a
{1: 0, 2: 1, 3: 2}
>>> len(a)
3
>>> del a[1]
>>> a
{2: 1, 3: 2}
>>> len(a)
2
0775デフォルトの名無しさん
2014/05/05(月) 18:18:36.53ID:VYxUQVAfd = dict(enumerate(a))
del d[0]
辞書である程度できるけど、ループさせる時とか面倒だし
PHPのarrayと同等のクラスを自作すべきじゃないの
0776デフォルトの名無しさん
2014/05/05(月) 18:40:24.56ID:Vmp3/Tts普通の辞書だと順序が保持されないから
要素を追加してからループで回す場合などに不安がある
0777デフォルトの名無しさん
2014/05/05(月) 19:18:16.62ID:VYxUQVAf添え字と内容の組を維持したまま、添え字の昇順で取り出せる配列だと思うよ
d = {}
d[0] = 1
d[1] = 2
d[2] = 3
d[40] = 7
d[10] = 50
d[5] = 100
del d[0]
for i, v in sorted(d.items()):
print(i, v)
0778デフォルトの名無しさん
2014/05/05(月) 23:11:55.70ID:V3vcFv9Y0779デフォルトの名無しさん
2014/05/06(火) 00:43:30.98ID:SnxCJScGつ global、nonlocal
0780デフォルトの名無しさん
2014/05/06(火) 02:19:05.68ID:lMfO+tXsおお、globalでもできました!
nonlocalは調べてみたけど日本語が難しくてわからんない(´・ω・`)
0781デフォルトの名無しさん
2014/05/06(火) 03:29:11.08ID:W1irTGxyあるファイルオブジェクトfileがあって、これをfor文で1行ずつtextという文字列に入れていきます。
for text in file:
処理
みたいな感じです。
このfor文の処理なのですが、たとえば、textの文字から特定の文字(たとえばjava)を消去して
特定の文字を置換したい(たとえばruby→python)場合、
for text in line:
text.rstrip("java")
text.replace("ruby", "python")
print text
これだとうまくいきません。
for text in line:
text2 = text.rstrip("java")
text2.replace("ruby", "python")
print text2
これだとうまくいくのですが、こんな感じで処理ごとに新たなオブジェクトを作っていくしかないのでしょうか?(textに入っている文字列に対する処理が増えたらもっと新たなオブジェクトを作らないといけなくなって、かっこわるい気がします)
python というか、プログラム初心者です
0782デフォルトの名無しさん
2014/05/06(火) 03:38:37.29ID:9GZznhIG0783デフォルトの名無しさん
2014/05/06(火) 03:47:59.49ID:l/RnXGfSreplaceなら問題ないようだし置き換えればいくね?
#!/usr/bin/python
line = ['javasine','rubyhorobe','kusojavarubysanpai']
for text in line:
text=text.replace("java","")
text=text.replace("ruby", "php")
print text
pya@debian:/home/pya> ./ptest
sine
phphorobe
kusophpsanpai
0784デフォルトの名無しさん
2014/05/06(火) 03:50:35.36ID:W1irTGxyありがとうございます。
.rstripのメソッドをつけると、textの内容を書き換えるわけじゃなくて
textにrstripを作用させたものを表すだけで、
それを(さらに加工するために)保存しておきたかったら、text2など、別の変数を確保する必要があるのですね。
なんか効率悪い方法な気がしますが、このように文字列加工する毎に、変数の数を増やしていくしかないのでしょうか。
リストのlist.append、list.removeなどは、ちゃんと元のlistを書き換えてくれるのですよね
わけわからなくなってきました
0785デフォルトの名無しさん
2014/05/06(火) 03:52:54.40ID:W1irTGxyありがとうございます
メソッドによって、元のデータを書き換える、書き換えないが決まっていて
統一したルールはないという感じなのでしょうか…
0786デフォルトの名無しさん
2014/05/06(火) 03:56:20.79ID:l/RnXGfS0787デフォルトの名無しさん
2014/05/06(火) 04:12:45.79ID:yrujgySYsort! なら元の配列を変更する
破壊的なメソッドには、"!"が付く
0788デフォルトの名無しさん
2014/05/06(火) 04:19:07.18ID:4v5jSx260789デフォルトの名無しさん
2014/05/06(火) 04:46:23.00ID:W1irTGxy正直その仕様うらやましいです。
私が慣れていないだけで、普通破壊的非破壊的は瞬時に分かるんでしょうか。
>>788
連結することができるんですね。ありがとうございます。
でも、変な中間オブジェクト作りたくないので、replaceのみを使うことにします。
0790デフォルトの名無しさん
2014/05/06(火) 06:12:53.90ID:Ov8NCVuRどっちなのか不安になったらその都度マニュアルを読んだりサンプルを書いて調べる
ちなみに文字列はイミュータブル(変更不可)なオブジェクトだからメソッドが破壊的ということはないよ
0791デフォルトの名無しさん
2014/05/06(火) 06:22:59.45ID:mQys0jOp0792デフォルトの名無しさん
2014/05/06(火) 07:20:46.43ID:ajZm0pRN環境はlinuxです
ファイラーでファイルをダブルクリックした時の動作をpythonで実行させるにはどうしたらいいでしょうか?
0793デフォルトの名無しさん
2014/05/06(火) 07:36:49.19ID:en11SVnb開くだけなら
import os
os.system('libreoffice /path/to/file')
フルパスのほうがいいかも
0794デフォルトの名無しさん
2014/05/06(火) 08:24:29.54ID:ajZm0pRN即レスありがとうございました!出来ました!!
0795デフォルトの名無しさん
2014/05/06(火) 10:03:38.14ID:lMfO+tXs(省略)
if a > 100: raise "TooBig"
(省略)
except "TooBig":
って書いたら
exceptions must be old-style classes or derived from BaseException, not str
って出たんですが、2.7のバージョンでこれに代替するものはありますか?
今まで if とwhileだけで頑張ってて、やっと便利そうなものに出会えたのに・・
0796デフォルトの名無しさん
2014/05/06(火) 10:21:39.81ID:5XUZJ6Yvif __name__ == "__main__":
a = 101
if a > 100:
raise TooBig("ooki sugi")
else:
print("a <= 100")
0797デフォルトの名無しさん
2014/05/06(火) 12:33:57.30ID:mEd63sxGtext = text.rstrip("java")みたいに再代入すればいいだろ
それに変なことでもないし間違った考えは捨てるべき
0798デフォルトの名無しさん
2014/05/06(火) 12:45:00.86ID:lMfO+tXs今早速python Japanのチュートリアルを調べてみたのですが、エラーの例外処理しか書いてなくて
基本構文がどう働いているのかわかんない感じです。それで例外処理のメソッドの作り方もちょっとわかりません。
www.bioinfo.sfc.keio.ac.jp/class/genpro/Texts/Python1_4.htm
の最後の課題を仕上げて例外処理はぜひモノにしたいです!
0799デフォルトの名無しさん
2014/05/06(火) 13:39:43.39ID:THhaAqsS0800デフォルトの名無しさん
2014/05/06(火) 13:53:34.81ID:IYRNLtkR>>> print("Hello, \
... World.")
Hello, World.
0801デフォルトの名無しさん
2014/05/06(火) 14:08:47.29ID:THhaAqsSいや、長いプログラム書くときに
0802デフォルトの名無しさん
2014/05/06(火) 14:09:57.93ID:SnxCJScGtry:
(省略)
if a > 100: raise Exception("TooBig")
(省略)
except Exception as e:
if e.message == "TooBig":
print(u"でかい")
0803デフォルトの名無しさん
2014/05/06(火) 14:14:33.90ID:uMIcYsKA対話モードで長いプログラムを書くメリットがあるとは思えん
もしかしてテキストエディタを知らないとか?
0804デフォルトの名無しさん
2014/05/06(火) 14:18:58.04ID:THhaAqsSあ、そうなんだ
テキストエディタは知ってるよ、ありがとう
0805デフォルトの名無しさん
2014/05/06(火) 14:50:07.11ID:HHA7qseKpythonがvcvarsall.batを見つけてくれず途方に暮れています
vcvarsall.batを見つけられるようにpathにそれの入っている場所を通してはあります
これ以外の原因にはどんなものがあるんでしょうか
0806デフォルトの名無しさん
2014/05/06(火) 14:51:48.03ID:MUfoCXqr何かいい方法があれば教えて下さい。
0807デフォルトの名無しさん
2014/05/06(火) 14:59:41.46ID:mSyZL6knhtmlを修正すればいい話で言語側で頑張る必要はない
0809デフォルトの名無しさん
2014/05/06(火) 15:10:38.12ID:SnxCJScG0810デフォルトの名無しさん
2014/05/06(火) 15:25:38.23ID:WFiBnAhm0811デフォルトの名無しさん
2014/05/06(火) 17:33:14.27ID:lZ9VvgZb0812デフォルトの名無しさん
2014/05/06(火) 17:42:42.86ID:ZzGxE59UHTML Tidy http://tidy.sourceforge.net/ をPythonから使うライブラリの
uTidylib http://utidylib.berlios.de/ が有効かもしれない
0813デフォルトの名無しさん
2014/05/06(火) 19:53:15.64ID:5XUZJ6Yvtry:
import PyOpenGL
except ImportError:
print("cannot import PyOpenGL")
else:
print("imported PyOpenGL")
0814デフォルトの名無しさん
2014/05/06(火) 20:12:59.11ID:lMfO+tXs一度寝てもう一回見てみたらすぐにわかりました!
疲れたらいろいろ見えなくなるんですねw
ありがとうございます
>>796
>>802
0815デフォルトの名無しさん
2014/05/06(火) 22:16:58.03ID:VFOQQ2EH0816806
2014/05/06(火) 22:40:12.03ID:MUfoCXqr情報有難うございます。
試してみましたが、思っていたものとは少し違うようでした。
しかし、BeautifulSoupでやりたいことが出来ましたので、解決しました。
どうもありがとうございました。
0817デフォルトの名無しさん
2014/05/06(火) 23:06:52.08ID:JE14s1BUそもそもPEP8は英語使えといってるので諦めてはいかがですか?
0818デフォルトの名無しさん
2014/05/07(水) 01:02:55.33ID:aO+ETnaV0819デフォルトの名無しさん
2014/05/07(水) 01:04:02.36ID:MbwxJpTdpep8
0820デフォルトの名無しさん
2014/05/07(水) 01:16:41.45ID:aO+ETnaV0821デフォルトの名無しさん
2014/05/07(水) 01:17:08.16ID:aO+ETnaV0822デフォルトの名無しさん
2014/05/07(水) 01:18:07.88ID:aO+ETnaVなんのキーワードに引っかかったんだろう
0823デフォルトの名無しさん
2014/05/07(水) 03:19:51.82ID:XMc35o9t0824デフォルトの名無しさん
2014/05/07(水) 10:45:11.98ID:IG27RCGqどれどれテスト
0825デフォルトの名無しさん
2014/05/07(水) 10:59:31.11ID:PrO7m2H3本当ですか?
0826デフォルトの名無しさん
2014/05/07(水) 18:12:47.91ID:afXZQj4c諦めてください
0827デフォルトの名無しさん
2014/05/07(水) 19:07:36.21ID:3Ol92AoLここの先輩方は書いてますか?
0828デフォルトの名無しさん
2014/05/07(水) 19:27:13.74ID:MbwxJpTdそもそもPEP8にしたがってませんから
0829デフォルトの名無しさん
2014/05/08(木) 13:21:04.96ID:x2u5Ly7T俺だけルールを守るは癪に障る
0830デフォルトの名無しさん
2014/05/08(木) 16:35:43.24ID:cPEtHP5zlinuxでwindowsみたいにダブルクリックで自動でコンソール開いて実行できるようにできますか?
0831デフォルトの名無しさん
2014/05/08(木) 16:39:56.16ID:pICCUeeHhttp://lmgtfy . com/?q=linux+%E9%96%A2%E9%80%A3%E4%BB%98%E3%81%91
0832デフォルトの名無しさん
2014/05/09(金) 00:10:32.84ID:8RvhDw5kアドバイスお願いします
>>> import tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/toyohiko/.pyenv/versions/3.4.0/lib/python3.4/tkinter/__init__.py", line 40, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'
0833デフォルトの名無しさん
2014/05/09(金) 00:34:24.75ID:8RvhDw5k0834デフォルトの名無しさん
2014/05/09(金) 01:02:39.44ID:JCnUB0up0835デフォルトの名無しさん
2014/05/09(金) 01:40:44.28ID:4s2/CMbE0836デフォルトの名無しさん
2014/05/09(金) 13:53:55.22ID:EGRUO5Vhdef __init__(self, x, y):
pass
def ...
こういう空行ってみなさん空白入れてます?
0837デフォルトの名無しさん
2014/05/09(金) 14:08:53.76ID:YrW3FNu30838デフォルトの名無しさん
2014/05/09(金) 14:18:26.67ID:nE7abbckでもそこまできにしてない
0839デフォルトの名無しさん
2014/05/09(金) 17:26:25.80ID:9HGetkQv0840デフォルトの名無しさん
2014/05/09(金) 17:51:59.51ID:c/ZVCJmS0841デフォルトの名無しさん
2014/05/09(金) 18:14:43.74ID:hUKEzlG4そうい議論のある英文のページがあったんですが誰か知りませんか?
結構前からあったんですがブックマークから消えてしまい探すにも探せなくなりました
0842デフォルトの名無しさん
2014/05/09(金) 18:17:46.64ID:Aqb6F0qE0843デフォルトの名無しさん
2014/05/09(金) 18:28:45.22ID:JCnUB0upこのへん?
https://docs.python.org/3/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls
http://stackoverflow.com/questions/2709821/python-self-explained
http://neopythonic.blogspot.jp/2008/10/why-explicit-self-has-to-stay.html
0844デフォルトの名無しさん
2014/05/09(金) 22:46:18.31ID:hqonRqi4右下x,y = 100, 100
の縦横100の四角形の面積を取得できる便利なパッケージを教えてください
0845デフォルトの名無しさん
2014/05/09(金) 23:23:49.12ID:0vzS+9FX0846836
2014/05/10(土) 01:06:06.59ID:7U2NdoEH0847デフォルトの名無しさん
2014/05/10(土) 01:40:57.47ID:YTeWN6ytんんんちがいます
0848デフォルトの名無しさん
2014/05/10(土) 09:38:24.78ID:DCeTf/Ac://dpaste.com/3ZE6FR6/
これをコマンド実行すると
数当てゲーム ランダムに生成される1~100までの中の数を当てよう
あなたが答えだと予測する数を答えなさい: 3
3
25
3
25
正解よりも大きすぎますよ
あなたが答えだと予測する数を答えなさい:
となりますが、if x > n:の、どの辺がおかしいのでしょうか?
xとnに問題がある感じでしょうか?
助けてください
0849デフォルトの名無しさん
2014/05/10(土) 09:45:07.34ID:5aO9PoDIx = int(raw_input("あなたが答えだと予測する数を答えなさい: "))
0850デフォルトの名無しさん
2014/05/10(土) 09:45:17.07ID:O7mBqXvM整数と文字列を比較してしまってるよ
randint() は整数を返し raw_input() は文字列を返す
直すには raw_input() の返り値の文字列を int() で整数に変換する
0851デフォルトの名無しさん
2014/05/10(土) 10:40:25.62ID:DCeTf/Ac>>850
ありがとうございます!無事に動くようになりました!!
0852デフォルトの名無しさん
2014/05/10(土) 11:00:58.04ID:FyHL6scA2020年まではPython3に手をつけても仕事になりませんか?
0853デフォルトの名無しさん
2014/05/10(土) 11:02:46.36ID:hc+7iE7K仕事がしたいなら他の言語にした方がいい
0854デフォルトの名無しさん
2014/05/10(土) 11:12:51.46ID:hc+7iE7KPython2が書けるならPython3も書けるよ
逆に言えば、そのぐらいできて貰わないとアピールされても笑うしかない
0855デフォルトの名無しさん
2014/05/10(土) 11:37:11.38ID:gCJbXOs2公務員と馬鹿はそこを判ってないから日本が貧乏になる
0856デフォルトの名無しさん
2014/05/10(土) 18:01:22.01ID:syuWZrtz0857デフォルトの名無しさん
2014/05/10(土) 18:15:35.72ID:S6+Ypxbi0858デフォルトの名無しさん
2014/05/10(土) 19:47:12.58ID:DCeTf/Ac0859デフォルトの名無しさん
2014/05/10(土) 19:54:29.33ID:2hs2epHy0860デフォルトの名無しさん
2014/05/10(土) 20:12:31.18ID:hc+7iE7K0861デフォルトの名無しさん
2014/05/10(土) 20:30:20.23ID:+BfkYh95最近はそうでもない
少ない事は確かだけど
0862デフォルトの名無しさん
2014/05/10(土) 20:41:43.05ID:6rGtqNvJ0863デフォルトの名無しさん
2014/05/10(土) 20:46:18.08ID:Om1HfajV案件ある?
珍しい案件だと一年ぐらい前に Ada の案件があったけど、スクリプトの案件は見たことないなぁ。
0864デフォルトの名無しさん
2014/05/10(土) 21:11:58.81ID:YicDXZuz0865デフォルトの名無しさん
2014/05/10(土) 21:13:54.59ID:+BfkYh95転職サイト登録してたら、今年入ってから何社からかPython使える人でスカウトみたいなのきたよ
2か3かはしらん
0866デフォルトの名無しさん
2014/05/10(土) 21:27:17.14ID:1UdWQOvdpython 2.7.6 の IDLE が起動しません。
何が原因でしょうか?
以前は32bitだったので32bitに戻してみたりしたのですが、やはり起動しません。
タスクマネージャーを見ているとpythonw.exeは動いているがウィンドウはでない状況です。
以前は起動していたと思うのですが、、、
もしかしたら起動したことなかったかもしれません
0867デフォルトの名無しさん
2014/05/10(土) 21:29:52.28ID:MW3M2eQ/0868デフォルトの名無しさん
2014/05/10(土) 21:36:14.87ID:Om1HfajVそうなのか、うちには来ないなぁ。
まあ、組み込みメインだからなぁ。
0869デフォルトの名無しさん
2014/05/10(土) 21:37:30.38ID:yuW7BMQHpythonの仕事が(大量に)ある?ならないと言わざるを得ない
まず日本語
0870デフォルトの名無しさん
2014/05/10(土) 21:55:17.88ID:Om1HfajVたたかう
なかまにする
⇒ にげる
0871デフォルトの名無しさん
2014/05/10(土) 23:13:28.06ID:lPfouZhgそれは勉強会とか告知とかでrailsに興味を持つ人が増えたから
pythonはどうよソーシャルイベントサイト見ても勉強会なんて皆無じゃん
この違いだよ
0872デフォルトの名無しさん
2014/05/10(土) 23:17:13.94ID:lPfouZhghttp://lmgtfyドットcom/?q=python+idle+%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%AA%E3%81%84
0873デフォルトの名無しさん
2014/05/10(土) 23:20:30.12ID:6rGtqNvJ投稿禁止を頑張って貼り付けてますね
JIMに規制されてしまえ
railsなんていらないよ
rubyなんて爆発してしまえ!
0874デフォルトの名無しさん
2014/05/10(土) 23:23:52.47ID:hc+7iE7K0875デフォルトの名無しさん
2014/05/11(日) 01:29:42.51ID:JMTRN5uvこびてんじゃねえよ
0876デフォルトの名無しさん
2014/05/11(日) 03:59:27.66ID:o03oWJtWじゃあこのスレ有志で勉強会開く?
↓
良いねぇ
↓
誰も来ない
↓
ラララ無人くんララララ
0877デフォルトの名無しさん
2014/05/11(日) 05:30:23.75ID:ZUz+4RUs0878デフォルトの名無しさん
2014/05/11(日) 07:58:40.23ID:uVLDDIJF0879デフォルトの名無しさん
2014/05/11(日) 16:53:34.76ID:1uY5uXf8プログラミング初心者です
#coding:utf-8
import random
a = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん"
m = random.randint(0, len(a) - 1)
n = random.randint(0, len(a) - 1)
print a[m:m + 1] + a[n:n + 1]
これを出力すると?と表示され、どうも文字列のスライスができていないようです。
試しにabcdでやってみたらできました。
pythonは日本語文字列のスライスはできないのでしょうか?
もし、できないのであれば、それに代替する方法はありませんか?
0880デフォルトの名無しさん
2014/05/11(日) 17:06:12.36ID:CvVjg5xA0881デフォルトの名無しさん
2014/05/11(日) 17:06:37.36ID:/HIIktiB初心者がなぜPython2とか使うのかね
0882デフォルトの名無しさん
2014/05/11(日) 17:07:49.26ID:o03oWJtW0883デフォルトの名無しさん
2014/05/11(日) 17:24:04.53ID:qkdWQCFAa = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん"
m = random.randint(0, len(a) - 1)
print a[:m] + a[m:]
0884デフォルトの名無しさん
2014/05/11(日) 17:25:05.30ID:1uY5uXf8ありがとうございます!
できました!!
今まで日本語入力のときuってつけてなくても大丈夫だったんですが
uってどんなときにつければいいのですか?
Macに最初から入ってる&ネットで書かれてる初心者向けのページにpython2が多い
でなんとなく使ってますが
移行とか考えたらpython3の方がいいんですかね
0885デフォルトの名無しさん
2014/05/11(日) 17:27:05.30ID:qkdWQCFA0886デフォルトの名無しさん
2014/05/11(日) 17:37:45.52ID:1uY5uXf8そーゆことか(´・ω・`)
choiceってあるんだー覚えとこ
0887デフォルトの名無しさん
2014/05/11(日) 17:44:23.91ID:YJ73HR2B"あいう" って書けばバイト列(str 型)だし
u"あいう" って書けば UNICODE 文字列(unicode 型)になる
>>879 が失敗してるのは文字ではなくバイト単位でスライスしてるから
0888デフォルトの名無しさん
2014/05/11(日) 17:47:25.06ID:CvVjg5xAa = u"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん"
と
a = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん".decode('utf-8')
の
意味の違い(結果は同じ)を理解しろ
0889デフォルトの名無しさん
2014/05/11(日) 17:48:05.41ID:U9zKyXum地方の勉強会は2012年前後に盛り上がってその後に衰退しているようです。
「python 勉強会 xx(都道府県名)」で検索すると数年前の予定ばかりがヒットします。
0890デフォルトの名無しさん
2014/05/11(日) 17:54:04.15ID:CvVjg5xA0891デフォルトの名無しさん
2014/05/11(日) 17:55:18.17ID:qkdWQCFA0892デフォルトの名無しさん
2014/05/11(日) 18:00:37.41ID:chwYgq400893デフォルトの名無しさん
2014/05/11(日) 18:02:22.57ID:1uY5uXf8なるほど
わかりやすい
0894デフォルトの名無しさん
2014/05/11(日) 18:32:42.06ID:8m9s6VXdメーカーなどの公式や研究発表的な場だと、誰かが発表する形式
趣味な勉強会だと、相互に調べたことを発表したりすることも
0895デフォルトの名無しさん
2014/05/11(日) 19:15:51.84ID:CvVjg5xA0896デフォルトの名無しさん
2014/05/11(日) 19:28:58.79ID:FSklA4+523才以下の女性限定です
0897デフォルトの名無しさん
2014/05/11(日) 19:33:38.53ID:Cg8vEtB8もちろん君もその条件に当てはまってるんだよね?w
0898デフォルトの名無しさん
2014/05/12(月) 05:36:20.08ID:1hZHnOd80899デフォルトの名無しさん
2014/05/12(月) 09:00:39.98ID:5R38u7Kk0900デフォルトの名無しさん
2014/05/12(月) 09:20:12.87ID:wWq7mhJO0901デフォルトの名無しさん
2014/05/12(月) 12:11:18.23ID:VLzujVrW口には出さないけど出会い厨なんだな〜って思いました
0902デフォルトの名無しさん
2014/05/12(月) 12:12:10.04ID:VLzujVrW0903デフォルトの名無しさん
2014/05/12(月) 12:14:49.80ID:9VQLdq3vここに載っているような
http://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-transaction.html
add_employee = ("INSERT INTO employees "
"(first_name, last_name, hire_date, gender, birth_date) "
"VALUES (%s, %s, %s, %s, %s)")
data_employee = ('Geert', 'Vanderkelen', tomorrow, 'M', date(1977, 6, 14))
cursor.execute(add_employee, data_employee)
この各columnのvalueとして与える値を第二引数にあてるやり方は
モジュールのほうで勝手に値をエスケープ処理してくれるんでしょうか
0904デフォルトの名無しさん
2014/05/12(月) 12:18:16.18ID:bllVZHXA0905デフォルトの名無しさん
2014/05/12(月) 13:08:22.95ID:p51rX6eD0906デフォルトの名無しさん
2014/05/12(月) 13:18:35.07ID:1hZHnOd8他は特に規定されてないです
文字列の中に"が含まれている場合、適切にエスケープする・・・なんて仕様もないです
プレースホルダが動的か静的かも分からないです
ははは
0907デフォルトの名無しさん
2014/05/12(月) 13:21:50.65ID:1hZHnOd8mysql.connector.conversion.MySQLConverter.escape
などという名前のAPIを使います。
0908デフォルトの名無しさん
2014/05/12(月) 13:46:09.93ID:pvUJO8KZ0909デフォルトの名無しさん
2014/05/12(月) 13:51:37.86ID:M42ssIHT0910デフォルトの名無しさん
2014/05/12(月) 14:03:48.45ID:1hZHnOd80911デフォルトの名無しさん
2014/05/12(月) 14:09:56.88ID:fDUnFXu40912デフォルトの名無しさん
2014/05/13(火) 01:40:47.72ID:kDNoyhrO↑ ↑ ↑ ↑ ↑
0913デフォルトの名無しさん
2014/05/13(火) 15:51:35.84ID:a6/E78aIプログラムを起動してから経った時間を表示するプログラムを作りたいんだけど・・・
0914デフォルトの名無しさん
2014/05/13(火) 17:08:03.82ID:QamV8/xTこういうの→45c0 004c 7dff
0915デフォルトの名無しさん
2014/05/13(火) 17:22:41.57ID:byxjoTLqバイナリは読み込む文字コードによって文字列が異なるから、つまり一つのバイナリから多数の文字列候補が存在することになるわけだが
0916デフォルトの名無しさん
2014/05/13(火) 17:51:53.30ID:YbBU7wze起動時間をどこかに記録しておかないとダメ
Linux 使いなら
$ ps -p PID -o etime
でいける
あと、こういうのとか?
>>> os.times()
posix.times_result(user=0.16, system=0.03, children_user=0.08, children_system=0.02, elapsed=17418884.28)
0917デフォルトの名無しさん
2014/05/13(火) 18:08:48.73ID:/alfYFfoUTF-8kEUC-JPかSJISだとお考えください
0918デフォルトの名無しさん
2014/05/13(火) 18:42:45.14ID:PyBUTxE2http://docs.python.jp/3.3/library/stdtypes.html#bytes.decode
0919デフォルトの名無しさん
2014/05/13(火) 19:11:06.90ID:rubilRFQpsutilが使える環境なら下のようにできる
from datetime import datetime, timedelta, timezone
import psutil
JST = timezone(timedelta(hours=9))
for proc in psutil.process_iter():
try:
name = proc.name()
except psutil.AccessDenied:
continue
time = datetime.fromtimestamp(proc.create_time(), JST)
print('{:30}{}'.format(name, time))
0920デフォルトの名無しさん
2014/05/13(火) 21:17:24.71ID:a6/E78aI$ ps -p PID -o etime
これで経過時間を調べれることまではわかったんだけどその後どうすればいいのやら
例えばブラウザを起動したらこのプログラムも自動で起動して、ブラウザを使った時間を表示するプログラムを作りたいんだ
ブラウザを起動すると同時にこのプログラムも起動するのは無理?
0921デフォルトの名無しさん
2014/05/13(火) 21:34:32.28ID:a6/E78aIx = subprocess.check_output(["pidof", "firefox"])
pid = x.decode().rstrip()
y = subprocess.check_output(["ps", "-p", pid, "-o", "etime"])
elapsed = y.decode().strip(" ").strip("ELAPSED").strip("\n").strip(" ")
print(elapsed)
ここまで書いたんだけどこれの実行結果が01:32:00みたいになって数値として扱えないじゃんって気づいて詰まった
0922デフォルトの名無しさん
2014/05/13(火) 21:36:25.61ID:FaOmhydn0923デフォルトの名無しさん
2014/05/13(火) 22:05:06.72ID:YbBU7wze> プログラムを起動してから経った時間を表示するプログラムを作りたいんだけど・・・
> print(elapsed)
作ってるじゃん!
冗談としても、後は頑張って。
>>> hms = "01:02:03"
>>> tm = time.strptime(hms, "%H:%M:%S")
>>> print(tm)
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=1, tm_min=2, tm_sec=3, tm_wday=0, tm_yday=1, tm_isdst=-1)
0924デフォルトの名無しさん
2014/05/13(火) 22:10:55.62ID:YbBU7wze参考って事で。
>>> do = datetime.datetime.strptime("00:00:00", "%H:%M:%S")
>>> do
datetime.datetime(1900, 1, 1, 0, 0)
>>> dt = datetime.datetime.strptime(hms, "%H:%M:%S")
>>> ddiff = dt - do
>>> ddiff.total_seconds()
3723.0
0925デフォルトの名無しさん
2014/05/14(水) 17:48:47.03ID:TLDxGDFZfrom datetime import datetime
from tkinter import Label
from time import sleep
msg = "Firefoxを使い始めてから\n10分経ちました"
while True:
try:
x = check_output(["pidof", "firefox"])
pid = x.decode().rstrip()
y = check_output(["ps", "-p", pid, "-o", "etime"])
str_etime = y.decode().strip(" ").strip("ELAPSED").strip("\n").strip(" ")
etime = datetime.strptime(str_etime, "%M:%S")
if etime.minute >= 10:
label = Label(None, text=msg, font=("sans-serif", 16))
label.pack(padx=8, pady=8)
label.mainloop()
sleep(30)
except CalledProcessError:
sleep(30)
結局、こういう感じになった
昨日教えてくれた人ありがとう
これ裏で動かしても重くならないよね?
0926デフォルトの名無しさん
2014/05/14(水) 17:49:37.26ID:TLDxGDFZ0927デフォルトの名無しさん
2014/05/14(水) 21:07:01.61ID:8hs3vCSL手直ししてみた。bugの所は>>924で対処して。
from subprocess import check_output, CalledProcessError
from datetime import datetime
from tkinter import Label
from time import sleep
import re
threshold = 10
fmt = "Firefoxを使い始めてから\n{}分以上経過しました。"
msg = fmt.format(threshold)
while True:
try:
x = check_output(["pidof", "firefox"])
except CalledProcessError:
pass
pid = x.decode().rstrip()
try:
y = check_output(["ps", "-p", pid, "-o", "etime"])
except CalledProcessError:
pass
s = y.decode()
m = re.search("\d+:\d+$", s)
str_etime = m.group()
etime = datetime.strptime(str_etime, "%M:%S")
# 1時間1分経過したとき、etime.minute(=1) < threshold(=10) だと思うけど?
# 無限 loop 前提の動作なら、bug では?
if etime.minute >= threshold:
label = Label(None, text=msg, font=("sans-serif", 16))
label.pack(padx=8, pady=8)
label.mainloop()
sleep(30)
0928デフォルトの名無しさん
2014/05/14(水) 21:17:29.10ID:8hs3vCSLDD-HH:MM:SS
日数が表示される。
想定していない使用方法何だろうけど、
丸一日以上経過した場合にも、頑張って対応してみてね。
$ ps -p 3813 -o etime
ELAPSED
7-05:23:11
0929デフォルトの名無しさん
2014/05/14(水) 22:08:19.49ID:SmuSFc1R2.xはprint
3.xはprint()
0930デフォルトの名無しさん
2014/05/14(水) 22:13:00.76ID:cEJSRyyI0931デフォルトの名無しさん
2014/05/14(水) 22:40:42.90ID:LUHpZdkBprint (1+2)
と同じ扱いだけど
0932デフォルトの名無しさん
2014/05/14(水) 23:07:49.58ID:ExP2CQtU0933デフォルトの名無しさん
2014/05/15(木) 06:21:15.57ID:gi1Ps9QT0934デフォルトの名無しさん
2014/05/15(木) 07:16:49.81ID:XXKriScF0935デフォルトの名無しさん
2014/05/15(木) 08:13:21.45ID:/8rz2yiHインデントわからないけど、tkinterの使い方に関してコード・レビュー
* GUIでは、メインスレッドで time.sleep は使わない。
メインスレッドではUI関連のイベントを処理してるので、time.sleepで止めてしまうと、UIがフリーズします。
ツールキットが提供してるタイマー機能を使おう。tkinterだったら afterで指定時間後にコールバック関数呼出。
* Pythonの処理はmainloopで止まります。
mainloopの後ろが実行されるのは、ウィンドウが閉じられる等、tkのイベントループが終わった後。
使い方によっては問題にならないかもしれないが、恐らくコードは意図通りの動作になってない。
* Labelをwhileループ内で生成してるけど、ウィンドウはループ外で一個のみ生成して、ループ内で更新するようにしよう。
もしダイアログ的なものを表示したくてLabelを使ってるのなら、tkitnerのダイアログ系の関数に変える。
GCの存在忘れてて、初見、リークしてるかもと思った。> while内でのlabel生成
0936デフォルトの名無しさん
2014/05/16(金) 00:46:36.76ID:ub/Eub/s0937デフォルトの名無しさん
2014/05/16(金) 17:18:03.57ID:w4POSpYEコントローラーごとにファイルをわけるようになってるのがいいんですけど
bottleもfleskとかも全部同じファイルにコントローラー(というかルーティング)を描くようになっているので求めているものと違います
自分でimportで無理やりそういうふうになってるWEBフレームワークが欲しいんですけど誰かおしえてください
0938デフォルトの名無しさん
2014/05/16(金) 18:08:02.03ID:B3qssotm使ったことないから間違ってたらごめん
0939デフォルトの名無しさん
2014/05/16(金) 19:18:50.07ID:DkOgc/BE0940デフォルトの名無しさん
2014/05/16(金) 19:37:19.31ID:MfiAbdMM0941デフォルトの名無しさん
2014/05/16(金) 20:00:56.19ID:wXEQeSgl0942デフォルトの名無しさん
2014/05/16(金) 20:02:25.76ID:MfiAbdMM状況がよく分からんよ
その画像へのアクセス方法はなんなの
0943デフォルトの名無しさん
2014/05/16(金) 20:03:16.91ID:xH+zzs4U0944デフォルトの名無しさん
2014/05/16(金) 20:08:44.30ID:KZ3d8Idq0945デフォルトの名無しさん
2014/05/16(金) 20:33:25.94ID:wXEQeSglurllibです。
http://zombiebook.seesaa.net/article/33192046.html
前にphpでネット上の画像を取得する際に、特定の容量以下だったらダウンロードしないっていうのは簡単にできたんですけど
似たようなことをpythonでやりたいと思っています。
0946デフォルトの名無しさん
2014/05/16(金) 20:36:33.95ID:MfiAbdMMまあ>>944でいいだろ
0947デフォルトの名無しさん
2014/05/16(金) 20:44:55.82ID:wXEQeSgl>>946
こういう事ですか!ありがとうございます!!
len(urllib.urlopen("url").read())
0948デフォルトの名無しさん
2014/05/16(金) 20:46:19.62ID:MfiAbdMM0949デフォルトの名無しさん
2014/05/16(金) 20:50:21.71ID:wXEQeSgl0950デフォルトの名無しさん
2014/05/16(金) 21:15:48.49ID:Iw38eLWP0951デフォルトの名無しさん
2014/05/16(金) 21:54:32.15ID:3UvUpAN30952デフォルトの名無しさん
2014/05/16(金) 22:18:59.95ID:EySRVugt>>948もいってるように書き方の問題。いざ保存しようってなった段階でまたurllib.urlopen呼び出すん?
0953デフォルトの名無しさん
2014/05/16(金) 22:51:28.39ID:gxrU3X5P実際にダウンロードするなら機能不足な urllib じゃなくて httplib2 使う。
>>944
content-length は実際のファイルサイズではなく、転送される(た)データ量。
urllib は gzip とかの圧縮に対応してないから事実上ファイルサイズと等価になるかもしれんけど、
だからだとしたらそれってバッドノウハウじゃね?
0954デフォルトの名無しさん
2014/05/16(金) 23:32:21.60ID:a67oxNRj画像限定&厳密なサイズ判定が不要ならHEADでcontent-lengthを調べるのも有効だと思う
0955デフォルトの名無しさん
2014/05/17(土) 02:17:28.11ID:CIZJhZT40956デフォルトの名無しさん
2014/05/17(土) 02:43:21.77ID:UAm0PdcU0957デフォルトの名無しさん
2014/05/17(土) 02:53:30.70ID:iY0EkpEn3.x 5//3 --> 1
0958デフォルトの名無しさん
2014/05/17(土) 06:53:32.08ID:+RVHZm5vPEP238に書いてある
Python3では演算子による数値の計算は数学的な結果に近づくように仕様を変更した
/に数学的な除算を、Python2仕様の除算は//に割り当てた
0959デフォルトの名無しさん
2014/05/17(土) 08:17:14.87ID:scIHL+Wyhttp://legacy.python.org/dev/peps/pep-0238/
Motivation
The classic division operator makes it hard to write numerical
expressions that are supposed to give correct results from
arbitrary numerical inputs. For all other operators, one can
write down a formula such as x*y**2 + z, and the calculated result
will be close to the mathematical result (within the limits of
numerical accuracy, of course) for any numerical input type (int,
long, float, or complex). But division poses a problem: if the
expressions for both arguments happen to have an integral type, it
implements floor division rather than true division.
...
を全部読むとよい。
0960デフォルトの名無しさん
2014/05/17(土) 19:02:57.39ID:ftYujaP2これを2文字ずつ表示して
ab
cd
e
なるようにするにはどうすればいいですか?
s = "abcde"
i = 0
while True:
print(s[i:2])
i += 2
一応こうはかけますけど・・・もっと楽に書ける方法ないですか
0961デフォルトの名無しさん
2014/05/17(土) 19:17:24.52ID:CIZJhZT4for j in i: print j, i.next()
0962デフォルトの名無しさん
2014/05/17(土) 19:27:28.35ID:iFaOrIwsfor i, j in zip(s[::2], s[1::2]+' '): print i, j
0963デフォルトの名無しさん
2014/05/17(土) 19:50:32.62ID:jEECk74Ufor i in range(0, len(s), 2):
print(s[i:i+2])
0964デフォルトの名無しさん
2014/05/17(土) 20:46:00.17ID:B930i8T2>>960じゃないけど、にたようなことで悩んでて >>963が参考になった
0965デフォルトの名無しさん
2014/05/17(土) 21:14:54.38ID:yeieV1sEfor chunk in re.findall(".{1,2}", "abcde"): print(chunk)
file-likeオブジェクトから 2 バイトずつ読み出し
stream = io.StringIO(s)
for chunk in iter(lambda:stream.read(2), ""): print(chunk)
汎用的な方法。データ型によっては効率よくない。
for chunk in zip_longest(*[iter(s)] * 2, fillvalue=""): print("".join(chunk))
0966デフォルトの名無しさん
2014/05/17(土) 21:21:37.78ID:DH0ccGDCあんた天才だね。
それだけの知識と応用力があれば
かなり仕事が効率化できるだろうな。羨ましいぜ。
0967デフォルトの名無しさん
2014/05/17(土) 22:45:29.07ID:F+Anbw5h0968デフォルトの名無しさん
2014/05/18(日) 21:59:43.85ID:WpcSYClF0969デフォルトの名無しさん
2014/05/18(日) 22:04:31.73ID:YyDKMNJf0970デフォルトの名無しさん
2014/05/19(月) 03:24:28.10ID:6L2g2kAx0971デフォルトの名無しさん
2014/05/19(月) 15:05:04.67ID:C9xN4CIohttp://toro.2ch.net/test/read.cgi/tech/1400479217/
0972デフォルトの名無しさん
2014/05/20(火) 10:38:28.67ID:71FP+W6lhttps://www.python.org/download/releases/3.4.1
0973デフォルトの名無しさん
2014/05/20(火) 10:52:35.45ID:Y3VmLAx+0974デフォルトの名無しさん
2014/05/20(火) 19:07:28.18ID:GWzIaQ0Oさすが.1なだけある
0975デフォルトの名無しさん
2014/05/20(火) 22:53:35.16ID:iccyffSk仕事に使って損害出たらどうするんだ
0976デフォルトの名無しさん
2014/05/21(水) 00:13:24.78ID:L2AgXKjxアホか
0977デフォルトの名無しさん
2014/05/21(水) 01:36:33.40ID:Dhf0TdcH0978デフォルトの名無しさん
2014/05/21(水) 08:42:47.33ID:/08zgsVlHEADは少なくとも半年様子見るのが常識だろ
0979デフォルトの名無しさん
2014/05/21(水) 14:53:53.09ID:F1xnH4lVおまえ食べ物に一品足りないだけで全額無料にさせようとするクレーマーだろ
0980デフォルトの名無しさん
2014/05/21(水) 15:54:24.25ID:UBUpb/UL0981デフォルトの名無しさん
2014/05/23(金) 19:42:28.21ID:WVZoxCv3http://toro.2ch.net/test/read.cgi/tech/1400479217/
0982デフォルトの名無しさん
2014/05/24(土) 03:27:04.10ID:4Shar09Ghttp://peace.2ch.net/test/read.cgi/tech/1400479217/
0983デフォルトの名無しさん
2014/05/24(土) 05:01:13.94ID:c2cnaKxKレス数が950を超えています。1000を超えると書き込みができなくなります。