くだすれPython(超初心者用) その5
at TECH
1:デフォルトの名無しさん
09/10/24 11:20:45
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>950 辺りで
前スレ
くだすれPython(超初心者用) その4
スレリンク(tech板)
関連スレ
Pythonのお勉強 Part35
スレリンク(tech板)
2:デフォルトの名無しさん
09/10/24 11:21:29
┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
3:デフォルトの名無しさん
09/10/24 11:22:33
2get
これはどう見てもおかしいだろ。 まず、主語が2。で動詞がget。
2が単数形だとしたら、getsにしないとおかしい上に、目的語がない。
直訳すると「2が得る」 何を得るんだよ!!!いいかげんにしろ。
それを言うなら
I get 2. だろ。しかも現在形だし。 過去形、いや現在完了形ぐらいまともに使ってくれよ。
I've got 2. 少しはましになって来たが、まだ気に入らない。その2だ。
いったいお前は何を手に入れたんだ?2という数字か?
違うだろ、手に入れたのは2番目のレスだろ。
どうも日本人は数詞と序数詞の区別がよく分かっていない節がある。
これらを踏まえて、正しくは
I've got the second responce of this thread.
ここでtheにも注目してもらいたい。このスレの2ってのは
特定の、このレスだけなんだから。だからaでも無冠詞でも なく、the second responceなんだ。
もう一度おさらいしてやる。
I've got the second responce of this thread.
4:デフォルトの名無しさん
09/10/24 11:23:14
◆関連リンク
Python の Home Page
URLリンク(www.python.org)
Python 日本語ドキュメント - Pythonistaのお友達
URLリンク(www.python.jp)
最新版直リン - 2.Xが推奨。3.Xはライブラリやドキュメントが使えないことも
URLリンク(www.python.org)
Python のコーディングガイド PEP8
URLリンク(www.python.org)
Python のコーディングガイド PEP8 - 日本語訳
URLリンク(www.oldriver.org)
日本語文字列コード問題まとめ
URLリンク(python.matrix.jp)
インタラクティブモードのエンコード
URLリンク(python.matrix.jp)
5:デフォルトの名無しさん
09/10/24 11:40:28
got 5
6:デフォルトの名無しさん
09/10/24 12:23:07
pychinko
7:デフォルトの名無しさん
09/10/24 15:01:53
前から思ってたんだけど、スレタイの
くだすれってどういう意味?
8:デフォルトの名無しさん
09/10/24 19:06:26
「くだらない質問スレ」の略では?
ところで、質問よろしいでしょうか
Fortranの実数(0.158073523876293e-2とか)を出力したファイルを
Pythonから浮動小数点実数として読み込むコードを書いているのですが、
次のようなエラーが出てしまいます。
Traceback (most recent call last):
File "./read.py", line 14, in <module>
numbers = [ float(item) for item in itemList ]
ValueError: invalid literal for float(): 0.1000000E+00 0.4225156E+01 0.1327376E-01 0.2886351E-01
正しく読み込むためには、どう書けば良いか教えてください。自分が書いたのは↓のとおりです。
import re
myRegExp = re.compile('^\s*#')
fname = open('loss.tl-dat', 'r')
for lines in fname:
if myRegExp.match(lines):
print 'match!'
else:
itemList = lines.split('\t')
numbers = [ float(item) for item in itemList ]
print numbers
9:デフォルトの名無しさん
09/10/24 19:10:32
\t で区切られてないんじゃね
10:デフォルトの名無しさん
09/10/24 19:17:11
ホワイトスペースで豚切るだけならこれでいい
itemList = lines.split()
11:デフォルトの名無しさん
09/10/24 19:35:19
おお!うまく読めました!>>9-10さんのいう通りでした。
ありがとうございました!
12:デフォルトの名無しさん
09/10/24 19:40:53
0.1000000E+00
↓
0.10000000000000001
これはどうすればいいのでしょうか?
13:デフォルトの名無しさん
09/10/24 20:02:05
学部1年レベル
B. 浮動小数点演算、その問題と制限
URLリンク(www.python.jp)
11. 標準ライブラリミニツアー - その 2
URLリンク(www.python.jp)
14:デフォルトの名無しさん
09/10/24 23:29:22
pygameをインポートして実行したウインドウを閉じると一緒に
pyscripterまで閉じちまうんだが・・・
だれかこんな漏れを救ってくれ
15:デフォルトの名無しさん
09/10/24 23:32:48
ギブです。プログラムを始めたばかりの初心者です。ご教授願います。
ファイル処理を勉強中で、試しにやろうとしたこと(下記)ができません。
・一日の為替の変動を表示する。
・usdjp.txt内には以下の内容が記載されております。
日付 高値 安値の順に記載されております。
2009年10月23日 92.13 91.28
2009年10月22日 91.70 90.77
2009年10月21日 91.28 90.49
・高値-安値を表示させたい。
試しに書いたのがエラーで実行できない。
#! /usr/bin/python
#codein:utf-8
f=open("usdjp.txt","r")
for i in f.readlines():
a=i.split()
print i
b=int(a[1]) - int(a[2])
print b
※インデントがうまく表示されていないかもしれませんが、やってます。
b=int(a[1]) - int(a[2]) でエラー発生
ValueError: invalid literal for int() with base 10: '92.13'
16:デフォルトの名無しさん
09/10/24 23:40:24
float
17:デフォルトの名無しさん
09/10/24 23:51:25
質問が2つあります
1.pythonで実行ファイルを作るときにVBみたいにランタイムとかそういうのって必要ですか?
2.負荷が高い処理を作るとき、HSPとどちらが実行速度が早いですか?
18:デフォルトの名無しさん
09/10/24 23:58:28
1. いらない
2. 変わらない
19:デフォルトの名無しさん
09/10/25 00:01:57
>>> int('78')
78
>>> int('78.9')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '78.9'
>>> float('78.9')
78.900000000000006
>>> float('78')
78.0
>>> isinstance('78', int)
False
>>> isinstance('78.9', float)
False
>>> '78'.isdigit()
True
>>> '78.9'.isdigit()
False
intかfloatかわからないものを
intはint
floatはfloatで取得したいのですが
20:デフォルトの名無しさん
09/10/25 00:06:01
>>17-18
msvcrのランタイムはいるだろ
21:デフォルトの名無しさん
09/10/25 00:11:23
>>19
intに変換、ValueErrorならfloat
22:デフォルトの名無しさん
09/10/25 00:15:19
>>21
最初に int または float のときに int に変換してみるということだと思うのですが
isdigit が int のときしか True にならないので
>>> float('0.789e+2')
78.900000000000006
>>> float('0.789g+2')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 0.789g+2
の ValueError のときと区別したいのです
23:デフォルトの名無しさん
09/10/25 00:20:54
>>> s = ['78', '78.9', '0.789e+2', '0.789g+2']
>>> for n in s:
... try:
... r = int(n)
... print 'integer', r
... except ValueError:
... try:
... r = float(n)
... print 'float', r
... except ValueError:
... print 'not a number', n
...
integer 78
float 78.9
float 78.9
not a number 0.789g+2
24:デフォルトの名無しさん
09/10/25 00:25:15
>>> s = ['78', '78.9', '0.789e+2', '0.789g+2']
>>> f = [('integer', int), ('float', float)]
>>> for n in s:
... for c in f:
... try:
... r = c[1](n)
... print c[0], r
... break
... except ValueError:
... continue
... else:
... print 'not a number', n
...
integer 78
float 78.9
float 78.9
not a number 0.789g+2
25:デフォルトの名無しさん
09/10/25 01:23:16
>>8
1行目、ありがとう
26:デフォルトの名無しさん
09/10/26 01:45:29
みんpy改訂版にのっていた問題なんですが、
Pythonで10から100までの最小の素数を求めようと思い、以
下のようなコードを書き始めました。20まで書いたところで力
尽きて、関数を使えば簡単に書けることを思いつきました。
以下のコードを参考に、最小公倍数を求める関数を作り、10か
ら100までの最小公倍数を表示してください。
>>> n = 10
>>> for c in range(2, n):
... if n%c == 0:
... break
... if c == n:
... print 1
... else:
... print c
...
2
>>> n = 11
>>> for c in range(2, n):
... if n%c == 0:
:
この問題に対して質問です
まず、何をするプログラムですか?
問題文の意味から分かりません。何をするプログラムかわかれば
わかる気もするのですが、初心者なもので
問題読解からつまってしまう初心者ですがご教示お願いします
27:デフォルトの名無しさん
09/10/26 01:51:22
続けてレスすみません
インデントがうまく表示されていないみたいですが
本当はインデントされています
それと、解答例はこんなかんじです
>>> def leastcommon(n):
... for c in range(2, n):
... if n%c == 0:
... break
... if c == n-1:
... return 1
... else:
... return c
...
>>> for n in range(10, 100):
... print leastcommon(n)
28:デフォルトの名無しさん
09/10/26 02:01:10
日本語でどうぞ
29:デフォルトの名無しさん
09/10/26 02:40:04
>>26
素数でググレ
あと引用するならアレンジしないでそのまま書き写してくれ
コードも間違いが無いかチェックして
30:デフォルトの名無しさん
09/10/26 03:22:14
問題文は完璧です
コードのほうはLinuxからだとインデントがうまく表示
できないみたいなので、Winから書き込みます
以下、そのコードです
<参考コード>
>>> n = 10
>>> for c in range(2, n):
... if n%c == 0:
... break
... if c == n:
... print 1
... else:
... print c
...
2
>>> n = 11
>>> for c in range(2, n):
... if n%c == 0:
:
<解答例>
>>> def leastcommon(n):
... for c in range(2, n):
... if n%c == 0:
... break
... if c == n-1:
... return 1
... else:
... return c
...
>>> for n in range(10, 100):
... print leastcommon(n)
31:デフォルトの名無しさん
09/10/26 03:26:39
あああああ
またインデントささってませんね
すみませんもうこれでお願いします
32:デフォルトの名無しさん
09/10/26 03:51:50
専ブラ使え
33:デフォルトの名無しさん
09/10/26 03:56:53
>>26
>まず、何をするプログラムですか?
>問題文の意味から分かりません。何をするプログラムかわかれば
>わかる気もするのですが、初心者なもので
その本初心者向けじゃないから今すぐ窓から投げ捨てろw
っつーか問題文の意味を聞くならこんなところで聞かずに
本人に聞けよ
LL温泉の紹介ページを作ったら煩悩丸出しの内容になったでござるの巻
URLリンク(coreblog.org)
34:デフォルトの名無しさん
09/10/26 04:23:37
引用ミスであると信じたい
でなければ酷過ぎる
35:デフォルトの名無しさん
09/10/26 05:11:31
血から尽きて、っていうのも問題に書いてある本文なの?
問題文もひどければ解答例もひどいなあ
解答例からみると10から99までの数字のそれぞれの割り切れる最小の数を表示する何か
36:デフォルトの名無しさん
09/10/26 08:44:53
Pythonでプログラミングを始めようとする人向けの本がないよね。
37:デフォルトの名無しさん
09/10/26 12:59:15
文字列の連結でidはstring、yearはint型としたときに
"私のIDは" + id + "です。年は" + year + "です。"
みたいにしてやると思うのですが、正しい、書き方はどうなのでしょうか?
38:デフォルトの名無しさん
09/10/26 13:05:58
+で文字の結合をするのは効率が悪いので速度が落ちます
''.join("私のIDは", id, "です。年は", str(year), "です。"]
または
"私のIDは%sです。年は%sです。" % (id, year)
39:デフォルトの名無しさん
09/10/26 13:32:12
少なくとも >>37 の状況で効率が悪くなる件は直ってるはず
40:デフォルトの名無しさん
09/10/26 13:32:55
>>38
''.join(["私のIDは", id, "です。年は", str(year), "です。"])
41:デフォルトの名無しさん
09/10/26 13:33:45
>>38
効率が悪くなるのも初めて知りましたw
さんくすです
42:デフォルトの名無しさん
09/10/26 20:37:39
shiftjisの文字列をutf-8に変換する関数ありますか?
43:デフォルトの名無しさん
09/10/26 21:01:39
>>42
URLリンク(docs.python.org)
44:デフォルトの名無しさん
09/10/26 21:02:34
>>43
の前にこれ
URLリンク(docs.python.org)
45:デフォルトの名無しさん
09/10/26 21:09:06
if文でフォルダが無いときにtrueになる条件式は
if os.path.isdir(path1)=='False':
処理〜
でいいのでしょうか?うまく動いてないので。
46:デフォルトの名無しさん
09/10/26 21:14:14
>>45
isdirの戻り値は True か False 。
'True' や 'False' などの文字列ではない。
47:デフォルトの名無しさん
09/10/26 21:15:24
>>43,44
ありがとうございます
48:デフォルトの名無しさん
09/10/26 23:28:00
if not os.path.isdir(path1):
49:デフォルトの名無しさん
09/11/01 18:52:00
コーディングの質問じゃないんですが…
当方昔少しだけperlをかじったようなものです
(文法はほとんど忘れていてアルゴリズムなら多少見れば思い出すかもしれないっていうほとんど0からと変わらないレベルです)
趣味でunix系OS上でこまごまとしたアプリを作っていきたいのですが
いきなりpythonから入って大丈夫ですか?
なんだか今見ると、今からperlをはじめるには欠点ばかり目立ってしまう感じがして…
pythonのコードを見たらすっきりしていて気に入りました
50:デフォルトの名無しさん
09/11/01 18:58:38
大丈夫v
51:デフォルトの名無しさん
09/11/01 20:13:35
って言ってほしいんやろ?
52:デフォルトの名無しさん
09/11/01 20:53:53
初心者を虐めるな
_, ,_ パーン
( ‘д‘)
⊂彡☆))Д´) >>51
53:デフォルトの名無しさん
09/11/02 00:26:44
虐めるな言ってもな…
例えばはじめるのに100万入会金払わないと行けないんやったら、そりゃ慎重にもなるわ
んでも、これだけ無料でばら撒かれてるんだから、自分で始めてみりゃいいじゃん
ましてや、過去に経験あるんやったらインストールだって楽勝だろ?
54:デフォルトの名無しさん
09/11/02 01:57:12
perlに関わるとろくなことにならんな
55:デフォルトの名無しさん
09/11/02 06:38:18
というか、いきなり入って大丈夫かどうかという指標は、
実際にいきなり入ってみた人の結果を集めて成り立ってるわけで、
コミュニティ側からすれば、>>49にはその2009年度版の一データになる役目が
与えられている。データを使う側ではなく。
だから答は「大丈夫かどうかを確かめたいから、さっさとやれ」。
56:デフォルトの名無しさん
09/11/02 12:59:22
PHP使ってた奴は総じてダメだな
57:デフォルトの名無しさん
09/11/02 15:11:48
お勉強スレが始まった頃は
perler移民ばっかりだった。
58:デフォルトの名無しさん
09/11/02 18:07:59
lineという文字列の変数に正規表現にマッチする部分があれば、
指定した形に置き換えて、もとのlineとしたいのですが、
どう書けばいいのでしょうか?
59:デフォルトの名無しさん
09/11/02 18:13:15
Pythonの文字列はイミュータブル。
lineという変数に、新しい文字列を代入することはできるが、
元の文字列を変えることはできない。
60:デフォルトの名無しさん
09/11/02 18:30:38
>>59
ありがとうございます。
置き換えたものをline_replaceとした場合、どのように書くのでしょうか?
61:デフォルトの名無しさん
09/11/02 18:46:28
import re
line = '適当な文字列'
line_replace = re.sub('パターン', '置き換える文字列', line)
複数の正規表現を同時に使う時は、
キャッシュが追いつかなくなるかもしれないので
事前にコンパイルしたほうがいい。
あと、第二引数には関数も指定可。
62:デフォルトの名無しさん
09/11/02 18:48:07
>>61
サンクスです。
63:デフォルトの名無しさん
09/11/02 21:04:21
関連して質問します。
re.sub() と pat = re.complie(); pat.sub() の違いについてなんですが、
re.sub() は毎回正規表現がコンパイルされますか?内部でキャッシュとかしてるんでしょうか。
pat = re.compile(); pat.sub() のほうが望ましいのは分かるんですが、正直面倒なので、
re.sub() のほうでキャッシュしてくれるんなら re.sub() で済まそうと思ってるんですが、どうでしょうか。
64:デフォルトの名無しさん
09/11/02 22:22:12
キャッシュするよ
re.purge()とか参照
65:デフォルトの名無しさん
09/11/03 11:48:33
要素数が range である空のリスト a を作る方法は?
range = 3 のとき
a = [空,空,空] のようなリストがほしい。
できますか?
後、Pythonでは空をどう表現するのですか?
66:デフォルトの名無しさん
09/11/03 11:55:20
r = 3
l = [ "" for i in range(r)]
print l
67:デフォルトの名無しさん
09/11/03 12:03:49
初心者スレで変数名に小文字のLは勘弁してたも
>>65
a = [None] * 3 とか
他の言語における空をPythonでどう表現するのか知りたいのなら
その言語の名前を挙げたほうがいいかも
68:デフォルトの名無しさん
09/11/03 12:35:11
まぎらわしいので range じゃなくて r を使うけど、
(range という関数があるため)
[None for a in xrange(r)]
69:デフォルトの名無しさん
09/11/03 18:59:32
すごくどうでもいいことかもしれませんが
エンコードの指定するときに、
# coding: utf-8
# -*- coding: utf-8 -*-
どちらの書き方でもOKなんですよね?
2つの書き方の意味の違いとか、こちらの書き方のほうが望ましい、
みたいなのって何かありますか?
70:デフォルトの名無しさん
09/11/03 19:01:52
>>69
2.1.4 エンコード宣言 (encoding declaration)
URLリンク(www.python.jp)
71:デフォルトの名無しさん
09/11/03 19:15:01
l = [] * 3
72:デフォルトの名無しさん
09/11/04 02:32:29
>>71
それだと長さ0の空リストが1つしかできない
73:デフォルトの名無しさん
09/11/04 06:47:41
>>71
URLリンク(www.python.org)
> Names to Avoid
>
> Never use the characters `l' (lowercase letter el), `O' (uppercase
> letter oh), or `I' (uppercase letter eye) as single character variable
> names.
>
> In some fonts, these characters are indistinguishable from the numerals
> one and zero. When tempted to use `l', use `L' instead.
74:66
09/11/04 18:15:47
>>73
かたいこというなよ・・・。
75:デフォルトの名無しさん
09/11/06 16:46:44
質問です
受け取ったファイルを CRC32 値にリネームするスクリプトを作りたいのですが、
反復処理でスクリプト自身を除くにはどうすればいいのでしょうか
現在↓のような状況です(とりあえずサンプルが見つかった MD5 でやってます)
import os
import sys
import hashlib
def getMD5(file):
try:
m = hashlib.md5();
f = open(file,'rb')
except IOError:
print ("Unable to open the file",file)
return
for line in file:
m.update(line)
f.close()
return m.hexdigest()
argvs = sys.argv
for x in argvs:
ext = x.split('.')[-1]
oldName = x
newName = getMD5(x) + "." + ext
os.rename(oldName,newName)
76:75
09/11/06 16:50:03
うぉ、ごめんなさい。インデント入ってねぇ orz
&nbsp; は無視されるのか
77:デフォルトの名無しさん
09/11/06 18:09:43
うちはちゃんと見えてるから問題なし
78:デフォルトの名無しさん
09/11/06 19:51:18
>>75
for x in argvs:
↓
for x in argvs[1:]:
79:75
09/11/06 20:36:32
>>78
サンクス、恐ろしく簡単な事だったんだな
大雑把に [start:end] ってことか
80:デフォルトの名無しさん
09/11/06 20:44:06
MD5sumの計算がしたいのなら
行単位じゃなくて固定長で数KBとか数MB単位で読んだほうがいいかもね
行毎でも結果がおかしくなることはない筈だけど
やりたいことに行が関係ないし効率はよくない
81:デフォルトの名無しさん
09/11/06 20:47:38
処理速度も桁違いに速くなるだろうね
82:デフォルトの名無しさん
09/11/06 20:48:11
>>80
ごめん、凄く非効率なのは分かってるんだけど、
見つけたサンプル適当に組み合わせて作ってる段階だから、そこまで直せない
CRC32 の求め方もまだ分かってないぐらいだし
83:デフォルトの名無しさん
09/11/06 20:53:44
zlib.crc32
84:デフォルトの名無しさん
09/11/06 20:54:49
>>82
URLリンク(d.hatena.ne.jp)
85:デフォルトの名無しさん
09/11/06 20:58:36
print binascii.crc32("hello world")
# Or, in two pieces:
crc = binascii.crc32("hello")
crc = binascii.crc32(" world", crc) & 0xffffffff
print 'crc32 = 0x%08x' % crc
86:デフォルトの名無しさん
09/11/06 21:01:41
真っ当なサンプルGJ
87:75
09/11/06 21:04:26
みんな優しいなぁ
ありがとう、参考にさせて頂きます
88:デフォルトの名無しさん
09/11/06 21:08:36
前は
俺は crc16 を求めたいんだよ プギャー
っつー変なのもいたけどな
89:デフォルトの名無しさん
09/11/07 17:52:19
リストの長さを得るのになぜ
len(list)
なんですか?
オブジェクト指向なら
list.len()
なのでは?
90:デフォルトの名無しさん
09/11/07 17:54:45
lenは関数指向だから無問題
91:デフォルトの名無しさん
09/11/07 18:05:24
obj.__len__()
92:デフォルトの名無しさん
09/11/07 18:10:43
len が py3k でも 関数のままである理由
URLリンク(d.hatena.ne.jp)
93:デフォルトの名無しさん
09/11/07 18:59:26
SGMLパーサーで分解したデータを外部から読むにはどうすればいいのでしょうか
94:デフォルトの名無しさん
09/11/07 19:07:34
どのSGMLパーサーを使ってるの?
外部ってのは具体的にどういう意味?
95:デフォルトの名無しさん
09/11/07 21:16:05
URLリンク(www.xxx.com)
のようなhtmlファイルを(変数).htmlのような感じで名前を変えてコピーしたいのですが
どのように書けばいいでしょうか?
96:デフォルトの名無しさん
09/11/07 21:27:19
import os
os.system(r'wget URLリンク(www.xxx.com) -O \(%d\).html' % n)
97:デフォルトの名無しさん
09/11/07 22:39:11
>>95
import urllib
var = 'abc'
urllib.urlretrieve('URLリンク(www.example.com)', '%s.html' % var)
98:デフォルトの名無しさん
09/11/07 22:56:56
>>96.,97
遅れました。
ありがとうございます。
99:デフォルトの名無しさん
09/11/08 00:14:21
path1="test"
path2="/test/tmp/"
if not os.path.isdir(path1):
os.mkdir(path1,0777)
if not os.path.isdir(path2):
os.mkdir(path2,0777)
testというディレクトリの下にtmpというディレクトリを作りたいです。
path2の指定が間違ってるようなのですが正しい書き方は何でしょうか?
100:デフォルトの名無しさん
09/11/08 00:41:44
path2 = "test/tmp/"
or
path2 = "./test/tmp/"
URLリンク(www.tohoho-web.com)
101:デフォルトの名無しさん
09/11/08 01:58:38
>>100
さんくす
102:デフォルトの名無しさん
09/11/08 03:56:08
MySQLからselect文でデータを取り出しているのですが、日本語のデータだと、
name undefined, r = ('japan', 'tokyo', '??????')
IndexError: tuple index out of range
みたいになってしまいます
con.execute("SELECT * FROM table WHERE city = \"tokyo\" ")
rs = con.fetchall()
for r in rs:
nation = r[1]
city = r[2]
name = r[3]
これで取り出しているのですが、どうしたらいいですか
103:デフォルトの名無しさん
09/11/08 07:58:43
それで取り出せているなら問題ないんじゃないの?
なにがまずいのか、さっぱりわからない。
104:デフォルトの名無しさん
09/11/08 08:38:28
None
105:デフォルトの名無しさん
09/11/08 14:58:44
>>103
r = ('england', 'london', 'becky')みたいな英字のみのデータは取り出せるのですが、
r = ('japan', 'tokyo', '??????')のように日本語が入っているとそこが???となって
name undefined, r = ('japan', 'tokyo', '??????')
IndexError: tuple index out of range
というエラー文がでて止まってしまいます
106:デフォルトの名無しさん
09/11/08 17:54:23
name = r[3]
↓
name = r[3] if len(r) >=3 else None
107:デフォルトの名無しさん
09/11/08 19:41:00
>>106
多大の配列番号のミスでした
すいません
108:デフォルトの名無しさん
09/11/09 10:21:43
エンコードを意識しようぜ
サーバのデフォルトのエンコードは?
クライアントのデフォルトのエンコードは?
109:デフォルトの名無しさん
09/11/10 18:23:57
loggingではき出されるログファイルのタイムスタンプってlogging作動中は
更新されないみたいなんだけどこのへんてこ仕様は何とかならないのかな?
110:デフォルトの名無しさん
09/11/10 19:35:34
>>108
エンコードの指定を間違えると例外を吐く仕様もどうかと思うけどな
111:デフォルトの名無しさん
09/11/10 19:54:50
Explicit is better than implicit.
112:デフォルトの名無しさん
09/11/10 20:00:49
DB、プログラムはutf8で、
shiftjisのファイルを開いて正規表現で抜いているんですが、
l[1].decode("Shift_JIS").encode("UTF-8")
みたいな感じではダメなのでしょうか?うまくいかないので。
またDBから抽出したのをまたDBにinsertしたいとき
title = r[1].encode("UTF-8")
としているのですが、まずいですか?
113:デフォルトの名無しさん
09/11/10 20:02:00
??
114:デフォルトの名無しさん
09/11/10 20:25:49
DBにinsertしたいとき自分指いいすかまで読んだ
115:デフォルトの名無しさん
09/11/10 20:40:25
>>111
そういう事はいい加減きわまりないリファレンスマニュアルを改善してから言えw
116:デフォルトの名無しさん
09/11/10 21:15:11
リファレンスのマニュアルの不備を指摘する前に、己の技術力不足を改善しろw
117:デフォルトの名無しさん
09/11/10 21:22:18
>>116
( ゚Д゚)ポカーン・・・頭大丈夫?
118:デフォルトの名無しさん
09/11/10 21:23:33
┐(´ー`)┌
119:デフォルトの名無しさん
09/11/10 21:25:48
またruby厨の荒らしですか
120:デフォルトの名無しさん
09/11/10 21:27:29
どこからRubyが出てくるんだよwww
121:デフォルトの名無しさん
09/11/10 21:30:44
>>112
> またDBから抽出したのをまたDBにinsertしたいとき
言ってることがよくわからんが、
UTF-8に変換してからDBに入れたんだろう?
DBからはunicodeで戻ってくるの?
122:デフォルトの名無しさん
09/11/10 21:34:05
>>110
例外を吐くのは、変換できなかった時だろ。
そうでなくとも知らないうちに、
他の文字に変換されるよりはましだと思うのだが。
123:デフォルトの名無しさん
09/11/10 21:40:34
>>115
どこが「いい加減きわまりない」ないんだろう?
ドキュメントの記述が間違っていることは見たことがないし、
もし見つけたのなら、こんな所で管を巻いてないで報告すればいい。
URLリンク(www.python.org)
124:デフォルトの名無しさん
09/11/10 21:49:04
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 113: ordinal not in range(128)
args = ('ascii', 'INSERT IGNORE INTO test(name,event,mysy...\xa8\xe3\x82\xb5\xe3\x83\xb3\xe3\x82\xb0\xe3\x83\xa9\xe3\x82\xb9\xe3\x81\xa7\xe5\xa4\x89\xe8\xa3\x85 [11/10])', 113, 114, 'ordinal not in range(128)')
encoding = 'ascii'
end = 114
object = 'INSERT IGNORE INTO
みたいな感じで帰ってきます。
125:デフォルトの名無しさん
09/11/10 22:32:39
title = r[1].decode("cp932").encode("UTF-8")
126:デフォルトの名無しさん
09/11/10 23:21:18
サングラスで変装?
127:デフォルトの名無しさん
09/11/10 23:21:56
>>123
1.exsampleが非常に少ない
2.表記が抽象的な所がある
たとえば文字列操作あたりで見てみると
Python - 3.6.1 文字列メソッド
URLリンク(www.python.jp)
C# - String メンバ
URLリンク(msdn.microsoft.com)(VS.80).aspx
Pythonのドキュメントの表記って抽象的だったり表記が統一されていないところが随所にある
オブジェクト指向の言語なのだからオブジェクト名で書くのが普通だと思うが
文字列?単語?"文字列=単語"で良いの?数って何?int?long?
C#に限らずリファレンスマニュアルならば暗黙の了解がある内容でも明文化するのが
普通だぜ?
128:デフォルトの名無しさん
09/11/10 23:24:23
>>127
> 1.exsampleが非常に少ない
>>116
> 2.表記が抽象的な所がある
静的型言語が好きならPython使うな
129:デフォルトの名無しさん
09/11/10 23:27:14
>>125
ありがとうございます。。
エラーが止まらないのですが、基本的に、文字型が違うので連結が出来ていない。
という認識でいいのでしょうか
130:デフォルトの名無しさん
09/11/10 23:33:39
>>127
君が >>1 にもあるような wiki かなんかで
exsample を作っていけば勉強になるよ ^ ^
131:デフォルトの名無しさん
09/11/10 23:33:55
>>127
日本語訳の批判はこちらへどうぞ
Pythonドキュメント翻訳プロジェクト
URLリンク(www.python.jp)
132:デフォルトの名無しさん
09/11/10 23:34:56
>>129
DBの種類も言わない
DBの文字コードの設定がどうなってるかも言わないし調べようともしていない
ソースも貼らない
どしろうと?
133:デフォルトの名無しさん
09/11/10 23:38:04
1つ言えることは、unicodeとstrを混ぜると高確率でエラーになる。
混ぜるな危険。
134:デフォルトの名無しさん
09/11/10 23:39:15
>>132
すいません。。
>>133
print type()
してみるとunicodeとstrが混在してました。。
出直してきます
135:デフォルトの名無しさん
09/11/10 23:50:14
>>131
日本語訳の問題じゃないよ。
あえて「文字列」としているのは、原文でも string といって str, unicode その他 basestring を継承した
文字列型を区別しないで書いているから。
厳密な型を書かないのは動的型付けだから。
136:デフォルトの名無しさん
09/11/11 05:09:37
>>128
ドキュメントの記載が不明瞭である事と技術云々は全く関係ないだろ
組み込みスクリプト最大手のPythonで
>静的型言語が好きならPython使うな
はWindowsが嫌いなら使うなと言っているのと同義だなw
>>135
ちゃんと分けられるじゃん。それをそのまま文書化すれば良いだけなのに
何でわざわざごちゃ混ぜにしたような書き方になっているのか理解に苦しむ
basestringが〜
basestringを継承するstrが〜
basestringを継承するunicodeが〜
って書けば良いだけだろ。クラスが判る奴ならそれだけで通じる
137:デフォルトの名無しさん
09/11/11 08:27:12
言ってることは正しいと思うけどOSSだと言い出しっぺの法則で終わるだけだぞ
138:デフォルトの名無しさん
09/11/11 09:27:54
>>136
ちゃんと分けられないよ。
誰かが勝手に追加した新しい文字列型も「文字列」に含まれるんだぜ?
duck typingな動的型付け言語に慣れろ。
139:デフォルトの名無しさん
09/11/11 09:34:20
公式ドキュメントは、CPythonの特定のバージョンのドキュメントだけじゃなくて、
他のPythonの処理系も含めた「Python標準ライブラリ仕様」を定めてるだけだからな。
CPythonの現在の仕様を詳しく書き下すんじゃなくて、近い将来のPythonや他のPython処理系が
満たすべき一般化された仕様を書いているから、あまり具体的な話はできない。
逆に、Pythonのドキュメントに書かれていない詳細な実装依存の仕様に依存したらいけない。
140:デフォルトの名無しさん
09/11/11 12:02:11
>>138, 139
つっこみどころ多すぎだろw
多分>>136の言っている意味をあんたらは汲み取っていないね
たとえば
組み込み型には 6 つのシーケンス型があります: 文字列、ユニコード文字列、リスト、タプル、バッファ、そして xrange オブジェクトです。
この場合の「文字列」がstrで、「ユニコード文字列」がunicodeであるのは明白だ
「組み込み型」で「6つ」まで限定してる「CPythonの」ドキュメントなんだから
ちなみにこれは和訳が悪いというわけでもない
原文はこう
There are six sequence types: strings, Unicode strings, lists, tuples, buffers, and xrange objects. (For other containers see the built in dict, list, set, and tuple classes, and the collections module.)
>>139
ご冗談を。
ならたとえばcStringIOなんて実装バリバリ意識したものについて書く必要がないし
書いてはいけない
仕様だけならStringIOだけ見せればよいだろ
どう見てもあれはCPythonのドキュメントです
141:140
09/11/11 12:13:49
まあ以上を指摘した上で、俺は>>137に同意なわけだがw
オプソにMS並みのドキュメントの質を期待しても無駄だぜ
質が不満なら自分でやれやという話だ
142:デフォルトの名無しさん
09/11/11 12:15:33
MSのドキュメントがそんなに良いとは思えない
変なのお手本にする必要はない
143:デフォルトの名無しさん
09/11/11 12:24:30
日本語しか見てないひとだね
144:140
09/11/11 12:30:04
原文では確かにbuiltinだとは言ってないね
しかし"six"と限定しているだろう
basestringを意識しているのなら、なおその列挙の仕方はあいまいだし
一般名詞の"strings"と、"xrange"のような明白な特定の型を並列で混用しているのも
良い技術文書のやりかたではないね
145:デフォルトの名無しさん
09/11/11 12:30:19
一般のソフトのドキュメントに比べると開発環境のはかなりいいけどね。
146:デフォルトの名無しさん
09/11/11 14:06:26
>>140
>>127でstringメソッドの例を出していて、 >>138, 139 は string メソッドで具体的な
クラス名を使わない理由を説明しているのに、なんでいきなり別のドキュメントに飛ぶの?
147:140
09/11/11 14:41:46
>>146
ああすまん、別のところを見ていたみたいだね。
俺は>>127とかとは別人だが。
つっても同じPythonスタンダードライブラリのドキュメントの話で
ドキュメントの質を問う話をしてるんだから、引用箇所なんてどこでもよくね?
俺が引用したのはBuilt-in Typesのドキュメントだけど、本当にひどいよ。
Buit-in Typesというくくりの
Sequence Types ― str, unicode, list, tuple, buffer, xrange
というタイトルの文書なのに、
いきなり先ほどに引用したような書き出しになる。
型名がstrで、それがいわゆる文字列のための型であるとすら書かれず、strとか
stringsとかいう書き方が混用されている。非常にあいまいで不親切だ。
正確性、一覧性や網羅性とった点についても不満がある。
basestringに関しても触れられていないしね。
148:デフォルトの名無しさん
09/11/11 15:18:46
最新版でない、しかも有志による日本語訳に基づいた批判はフェアじゃない
149:デフォルトの名無しさん
09/11/11 19:35:16
>>36
みんなのPython とかいうのがあったような気がするが。
150:デフォルトの名無しさん
09/11/11 19:39:25
>>148
最新版の日本語訳されたドキュメントってどれさ
URLリンク(www.python.jp)
じゃないのか?
151:デフォルトの名無しさん
09/11/11 19:41:58
( ´,_ゝ`)プッ
152:デフォルトの名無しさん
09/11/11 19:46:32
>>149
別にチュートリアルで問題ないだろ。
あれが難しいなら、ウェブに転がってる文書読んでからでもいいし。
153:デフォルトの名無しさん
09/11/11 20:44:45
畑も耕さず、種も蒔かず、雑草も抜かず、肥料も巻かず、
水もやらず、添え木もせず、収穫もせず、金も払わず、
ただ実を食う。
そんな人間にも育て方が下手だと
批判をする権利はあります。
154:デフォルトの名無しさん
09/11/11 23:03:30
糞本の著者はどうしてみんぱいに粘着するの?
155:デフォルトの名無しさん
09/11/12 07:46:11
海外だとこれに凄い数のレビューがついてるけどどんな本なんだろ
URLリンク(www.amazon.com)
156:デフォルトの名無しさん
09/11/12 08:51:53
97 of 99 people found the following review helpful:
5.0 out of 5 stars Painless way to learn programming, September 4, 2003
75 of 76 people found the following review helpful:
5.0 out of 5 stars Best first Python Book (and not just for beginners), October 12, 2003
25 of 25 people found the following review helpful:
5.0 out of 5 stars Wow! What a refreshing approach to python!, October 2, 2003
俺は遠慮しとく
157:デフォルトの名無しさん
09/11/12 08:54:41
>>154
ダメな奴ほど暇なんだよ。
158:デフォルトの名無しさん
09/11/12 13:56:04
俺がダメなのは全部アイツのせい。
159:デフォルトの名無しさん
09/11/12 16:36:14
日本語訳の最新版ってこれじゃないの?
URLリンク(pythonjp.sourceforge.jp)
160:デフォルトの名無しさん
09/11/12 18:51:06
>>159
ちょw英語だらけだぞw
確かに2.6.x対応版みたいだが
161:デフォルトの名無しさん
09/11/12 19:25:21
Pythonスクリプトをタスクトレイに常駐させることはできますか?
162:デフォルトの名無しさん
09/11/12 19:33:06
>>161
タスクトレイを操作できるライブラリとGUIツールキットがあれば出来るかもね
163:デフォルトの名無しさん
09/11/12 19:34:59
ctypesを使えばできる
APIはShell_NorifyIcon
ツールキットに関してはシラネ
164:デフォルトの名無しさん
09/11/12 19:46:07
URLリンク(kansai2channeler.hp.infoseek.co.jp)
165:デフォルトの名無しさん
09/11/12 20:43:01
not enough arguments for format string
って具体的にいうとどんな感じのエラーでしょうか?
166:デフォルトの名無しさん
09/11/12 20:50:31
書式化文字列の引数が足りません
167:デフォルトの名無しさん
09/11/12 21:55:40
2.6と3.0が入ってる環境でPyScripterをインストールしてしまいました
PyScripterを使うと3.0で認識されます
2.6を利用して書きたいのですが、どうすればいいですか
168:デフォルトの名無しさん
09/11/12 22:12:23
mysqlのテーブルの照合順序をutf8_unicode_ci
insert文に日本語が含まれる場合、insert文をunicode型にする必要がありますか?
169:デフォルトの名無しさん
09/11/12 22:43:55
プログラムって何?の俺が始めるからお勧め本教えて。
まじで全然知識無い人が始める。
170:デフォルトの名無しさん
09/11/12 22:53:02
>>167
PyScripter.exe --python26
171:デフォルトの名無しさん
09/11/12 22:55:34
>>169
ありません
172:デフォルトの名無しさん
09/11/12 22:59:17
>>170
なぜかそのコメントからヒントを得て解決しました
くだらない質問して申し訳なかったです
173:デフォルトの名無しさん
09/11/12 23:08:55
>>169
具体的な目標を言ってください
174:デフォルトの名無しさん
09/11/12 23:26:20
プログラムの勉強をするに当たって本を読んでも学習効果は望めない。
脳と神経でつながっている指を動かし、
キーボードを打つのが至上の勉強法。
こういってもいいだろう。
「プログラミング=キーボード叩き」
ブラインドタッチが出来ると学習曲線が格段に良くなる。
タイプが無意識行動となるので、プログラミングに意識を集中できる。
よって、君が一番最初になすべきことは、
北斗の拳で全員ぶっ飛ばすことだ。
175:デフォルトの名無しさん
09/11/12 23:38:27
北斗の拳でシンに勝つところまで逝ったけど
最後だけクリアできないまま数年放置プレイ中
176:デフォルトの名無しさん
09/11/12 23:39:45
今の状況で、日本語の本をメインにpythonからプログラミングに入門するのが得策といえるか。
pythonの出版物となるとかなり限られているぞ。
rails関係を除いてもまだrubyの本の方が多い
まずは入門書の入門書みたいなのがたくさん出ているjavascriptとかperl、Cあたりで
プログラミングの基礎を学んでから来たほうがいいと思う
そのレベルになればいきなり初めてのpythonを読んで問題ないし(面倒ならpythonチュートリアルでおk)
177:デフォルトの名無しさん
09/11/12 23:40:32
まあ昔に比べたら天国みたいなもんなので
何でもいいんじゃないすか
ネットなんてなかったし
178:デフォルトの名無しさん
09/11/12 23:42:22
皆さんの意見をまとめるとruby最強ということですね
なるほど
179:デフォルトの名無しさん
09/11/12 23:44:18
rubyで入門書が多いのは
一冊ですっきりわかる良本が無いことの裏返しだろw
180:デフォルトの名無しさん
09/11/12 23:46:19
いや、ruby は仕様がころころ変わってしまうから、まともな本が出せない。
181:デフォルトの名無しさん
09/11/12 23:47:29
なおゲームは有料のものを購入すること。
せめて元を取らねばという気持ちが
ゲームクリアする方向に作用する。
さらに金は、お小遣いなどではなく自分で稼ぐべき。理由は先と同様。
これによって君は一段ずつ確実にピラミッドを登っていくだろう。
まるでシュウのように。
182:デフォルトの名無しさん
09/11/12 23:58:59
初心者にRubyとPerlはない。絶対にない
183:デフォルトの名無しさん
09/11/13 00:12:04
さて、もう一月ぐらい経っただろうか?
手が慣れたところで先に進もう。
ひょっとしたらプログラムをしたいという気持ちが
無くなっているかもしれない。
しかし、それでもいい。それでもOK。下を見てくれ。
書籍を買う(資金減少) → 読む(時間消費) → 飽きた → 脳みそ磨耗
激打を買う(資金減少) → 打つ(時間消費) → 飽きた → タイプ能力上昇
つまりタイプゲームを買うのは、本を買うよりずっとお得なのだ。
184:デフォルトの名無しさん
09/11/13 00:21:34
みんなのPythonはおすすめだよ
185:デフォルトの名無しさん
09/11/13 00:59:04
飽きてないならプログラミングに進みたいが、
残念ながら私にも勧めることの出来る本が無い。
ちなみに私の考える初心者向け良書とは、
読んで理解しなくてもよい本だ。
よって他の方に良さそうなものを聞くことにする。
ぐぐーる先生にお伺いしたところ、次のサイトを教えていただいた。
186:検索ワードは"Python ゲーム"
09/11/13 01:00:44
URLリンク(pygame.skr.jp)
ツ 許 P / ,、r'";;;;;;;;;;;;;;;;;;;;;;;;;;;;;`';,、 ,r';;r" _ノ 何
| さ .H L_ /;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\ ,';;/ ) と
ル れ P //;;/´ `' 、;;;;;;;;,,l;;' /ヽ と Pu
使 る. が /.,';/ ヽ;;;;,l;L_ .,,、,--ュ、 ';;;;;;;;;i な ki
い の l |;|┌--‐フ ┌----、、 |;ヾr''‐ヽ, ,、ィ'r-‐''''''‐ヽ ';;;;;;く !! Wi
ま は i |l ~~__´ 、 ``'__''''┘ |;;;;;l rO:、; ´ ィ○ヽ 'i;;;;;厶, ki
で l _|. <,,O,> 〉 <,,O,,> |;;;;;| `'''"/ `'''''"´ !;;;;;;;;ヽ
じ ._ゝ'|. / 、 |; ,' / 、 |;;;;;;;;;;;;;レ、⌒Y⌒ヽ
ゃ 「 | | ( ) .ソ l ,:' _ ヽ .|;;;;;;;//-'ノ
ぞ ヽヽ | _,ニ ニ,,,,,_ ', ゞ,' '"'` '" i;;;;;i, `' /
⌒レ'⌒ヽ厂 ̄ `| ,、ィ-‐''__'''‐-`,、 '' ', i、-----.、 `''"i`'''l
人_,、ノL_,iノ! ', :i゙''''''''''`l' ` _人__人ノ_ヽ ヾ゙゙゙゙ニニ'\ ,' ト、,
/ ヽ. L__」 「 止 笑 L_ ヽ〈 i| Vi゙、
ハ ワ {. ヽ. -、、、、 ' ノ ま い 了゙, ,ヽ===-'゙ ,' , // ヽ
ハ ハ ヽ. ハ ) ら が | ',.' ,  ̄ , ' ノ /./ ヽ,
ハ ハ > /|ヽヽ、___,,,,、 'く ん > ヽ.  ̄´ / ,、 ' / / \
ハ ハ / ノ. | ヽ フ / ノ:lゝt-,-‐''" / ,.ィ゙ /
187:デフォルトの名無しさん
09/11/13 01:07:53
python 2.5 以上で作られた wiki ってどんなのがありますか?
SQLite とかどんな環境でも動きますか?
インストールは簡単ですか?
188:デフォルトの名無しさん
09/11/13 02:31:42
Python製で一番有名なのはMoinMoinWikiってやつ。
データベース不要。
インストールはpukiwikiよりはめんどい
189:デフォルトの名無しさん
09/11/13 03:32:59
>>182
初心者にとってRubyの「日本語の資料が充実している」というのはかなり重要だよ
>>183
必死にググるのに疲れたw
Pythonの標準クラスリファレンス何処ー(・∀・ )っ/凵 ⌒☆チン
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5296日前に更新/249 KB
担当:undef