くだすれPython(超初心者用) その13at TECH
くだすれPython(超初心者用) その13 - 暇つぶし2ch1:デフォルトの名無しさん
12/03/21 13:41:13.16
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その12
スレリンク(tech板)
関連スレ
Pythonのお勉強 Part45
スレリンク(tech板)
【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
スレリンク(tech板)
◆関連リンク
Python の Home Page
URLリンク(www.python.org)

   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘

2:デフォルトの名無しさん
12/03/21 13:42:02.69
最新版直リン - 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)
SJISから卒業出来ないひとのための禁じ手
reload(sys); sys.setdefaultencoding('cp932')
Pythonの文字化け対策:sys.setdefaultencodingの謎
URLリンク(hain.jp)
実行時にdefaultencodingを変更する
URLリンク(d.hatena.ne.jp)
PEP-8とか
URLリンク(www.python.org)
URLリンク(oldriver.org)
Google Python Style Guideとか
URLリンク(google-styleguide.googlecode.com)
URLリンク(works.surgo.jp)


3:デフォルトの名無しさん
12/03/21 14:00:19.51
>>1乙です

前スレの>>998です。
PythonのTkinterで、メインウィンドウとサブウインドウが立ち上がっているとき、
このサブウインドウが、

1.必ずメインウィンドウの前面に出る設定
2.サブウィンドウを閉じないとメインウィンドウの操作が出来ない設定

が分かりません。どなたか、親切な方、教えてはいただけないでしょうか?



4:デフォルトの名無しさん
12/03/21 14:35:00.35
.wm_attributes("-topmost", 1)
.grab_set()

5:3
12/03/21 19:26:25.89
>>4
教えてくださって、本当にありがとう。上手くいきました。

今まで自分は教えてクンにだけはなるまいと思っていたけど、
これだけ迅速に貴重な情報が手に入ると思うと、つい負けてしまいそうです。
教えて下さった方に直接金銭等のお礼は出来ませんが、そのかわりに
Pythonについて私が分かることは出来るだけ、同じように困っている人に
情報提供していくつもりです。本当にありがとうございます。

6:デフォルトの名無しさん
12/03/21 23:11:02.69
本を読む習慣が無いひとには
おおまかに次の3つのタイプがあります

1.目が悪いひと
2.頭が悪いひと
3.文盲(識字出来ない)

頭が悪いひとより文盲の方が深刻です
普通は漢字が読めないレベルとかを想像しますが
アルファベットですら読めないひとが日本には多くいます

7:デフォルトの名無しさん
12/03/21 23:12:00.51
>>1

Pythonのお勉強 Part46
スレリンク(tech板)

8:デフォルトの名無しさん
12/03/22 09:28:14.93
インプリンタ上に書きこまれる文字列に対しif文を書くにはどうすればいいでしょうか。

a = 1と定義してからaについてif文を書くのではなく、書き込まれる文字列をaとおくという感じで...

ややこしくてすみません。




9:デフォルトの名無しさん
12/03/22 10:37:58.35
日本語でどうぞ

10:デフォルトの名無しさん
12/03/22 10:42:34.18
文章を書く習慣が無いひとには
おおまかに次の3つのタイプがあります

1.自分の考えを整理して他人に伝えられないひと
2.頭が悪いひと
3.文盲

頭が悪いひとより文盲の方が深刻です
普通は漢字が書けないレベルとかを想像しますが
アルファベットですら書けないひとが日本には多くいます

11:デフォルトの名無しさん
12/03/22 11:18:00.78
馬鹿には無理

12:デフォルトの名無しさん
12/03/22 11:58:04.86
プログラムを書く習慣のない人についてもよろしく

13:デフォルトの名無しさん
12/03/22 13:34:00.18
プログラムを書く習慣のない人には、
おおまかに次の3つのタイプがあります。

1.顔が悪い(女の子にもてません。)
2.頭が悪い(常に自分が正しいと思って行動しています。)
3.他人が悪い(なんでもすぐひとのせいにして自分を省みません。)

14:デフォルトの名無しさん
12/03/22 17:44:13.36
インタプリタにaと書き込めば1と表示され、
それ以外の文字を打ち込むと2と表示されるスクリプトはどう書けばいいでしょうか?

15:デフォルトの名無しさん
12/03/22 18:42:34.79
# 2.x
print raw_input() == 'a' and 1 or 2

# 3.x
print(input() == 'a' and 1 or 2)

16:デフォルトの名無しさん
12/03/22 18:56:18.14
>>15
ありがとうございます。
if文とかfor文とか使うのかなと思っていたのですが、完全に盲点でした。

17:デフォルトの名無しさん
12/03/22 19:57:59.56
いや、それネタだから……
読みやすさを心がけてください

18:デフォルトの名無しさん
12/03/22 20:38:51.63
>>17
そうなんですか...
2.xで、ネタじゃないのも書いてもらえるとうれしいです。

19:デフォルトの名無しさん
12/03/22 20:49:38.66
print 1 if raw_input() == 'a' else 2

じゃあかんの?

20:デフォルトの名無しさん
12/03/22 20:54:53.50
>>19
なるほど。
ありがとうございます。

21:デフォルトの名無しさん
12/03/23 01:08:55.22
windows7 64bit Ultimate
pythonのverは3.2と2.7のそれぞれ64bit
使ってるけど、pythonがインストールしても使えない GUIはランタイムエラーとか言われるし
コマンドラインのは勝手に落ちる

CG関係のソフトもpythonがいじれないせいかプラグインとかが使えない
ソフト自体の再インストール、pythonのインストール Visual C++もいろいろぶっこんだけど変わらない
そもそもこの手のソフトって普通に何もしないでインスコするだけで使えるはずだからコレハゼッタイニオカシイ…もう疲れた

22:デフォルトの名無しさん
12/03/23 01:18:39.26
質問だったら具体的に
愚痴だったらチラ裏でどうぞ

23:デフォルトの名無しさん
12/03/23 05:52:05.93
どうしても分からないので質問します。
x=raw_input()

if x == 1:
  print "one"
else:print "others”
というスクリプトを実行し、何らかの数字を入力した時、
そのあと終了させず、続けて他の数字を入力するにはどうすればいいでしょうか。
教えてください。


24:デフォルトの名無しさん
12/03/23 06:02:28.47
x=raw_input()
print "others”
input()

25:デフォルトの名無しさん
12/03/23 06:20:17.37
while True:
x = raw_input("enter a number: ")
if x == "": # 単にEnterが押されたらループを抜ける
break
elif x == "1":
print "one"
else:
print "other"

26:デフォルトの名無しさん
12/03/23 06:22:31.43
インデント忘れた。ごめん
Encode/DecodeErrorとか言われたらコメント(# 単にEnterが...の部分)削ってね

while True:
    x = raw_input("enter a number: ")
    if x == "": # 単にEnterが押されたらループを抜ける
        break
    elif x == "1":
        print "one"
    else:
        print "other"

27:デフォルトの名無しさん
12/03/23 06:26:22.42
>>24
すいません。
書き忘れてました。
続けて入力する文字を、ふたたび同じif文にかける方向でお願いします。

28:デフォルトの名無しさん
12/03/23 06:30:50.62
>>25 >>26
なるほど。ありがとうございます。

29:デフォルトの名無しさん
12/03/23 08:13:45.84
馬鹿には無理

30:デフォルトの名無しさん
12/03/23 20:34:08.72
馬鹿にさせるな

31:デフォルトの名無しさん
12/03/23 23:28:19.38
1、perlのstrictのようなモジュールないですか?
  for,while,if内で変数をlocal運用したいです。
2、変数が組み込み関数、予約語とかぶらないようにしたい
  怖くて安易に変数名がつけられない

32:デフォルトの名無しさん
12/03/24 00:24:04.98
>>31
沢山の関数に分ければいいと思うよ
スコープ広めの変数があるなら、クラスも使うべし
更にモジュール化を進めればかなり気にならなくなるはず

33:デフォルトの名無しさん
12/03/24 00:30:00.26
import datetime
while 1: 
  if datetime.datetime.today().minute == 0:
print datetime.datetime.today().hour
while 1:
x = raw_input()
if x == 1:
   print"0ne"
このスクリプトを実行すると、上のwhileがループしているので、
下のwhileがループしません。
2つともループさせるにはどうすればいいでしょうか?
    

34:デフォルトの名無しさん
12/03/24 00:34:53.93
>>33
indent

35:デフォルトの名無しさん
12/03/24 00:38:02.48
>>34
import datetime
while 1: 
  if datetime.datetime.today().minute == 0:
print datetime.datetime.today().hour
while 1:
x = raw_input()
if x == 1:
   print"0ne"
すいません。直しました。

36:デフォルトの名無しさん
12/03/24 00:39:32.27
>>34
投稿すると崩れるみたいです。

37:デフォルトの名無しさん
12/03/24 00:39:54.80
オフサイドルールはつらいね

38:デフォルトの名無しさん
12/03/24 00:45:03.68
どっかに
行頭の連続したスペースやタブ文字を、対応する数の に変換する
ってPythonコードなかったっけ

39:デフォルトの名無しさん
12/03/24 00:45:53.55
>>36
インデントの半角空白を で置換するか
半角空白2つあたり全角空白1つで置換して
codepad.orgなんかが使えるならそこに貼ってもいい

40:デフォルトの名無しさん
12/03/24 00:53:06.27
今ある数百のhtmlで書かれたページに、コメントフォームを作りたい
ページのファイル名(アドレス)は変えたくない
これを実現するのに、pythonはあまり向きませんか?

手っ取り早いのは.pyファイルに書き換えて、html部をprintで出力する方法でしょうか?
なんかコメントフォームのためにhtml全体をprintを使って書くってあんまりよろしくない感じがするんですが
(ハードコーディング?)pythonの記述にhtmlを載せるんじゃなくて、html上でpythonを埋め込める方法はないのでしょうか?
それともphp等を使わないと無理でしょうか?

41:デフォルトの名無しさん
12/03/24 00:57:48.16
>>39
codepadに投稿しました
URLリンク(codepad.org)
33の解決策も教えていただけると助かります。

42:デフォルトの名無しさん
12/03/24 01:09:00.35
>>41
単に一つのループの中に
URLリンク(codepad.org)
ではダメなの?

43:デフォルトの名無しさん
12/03/24 01:10:20.25
>>41
まず、どうなりゃ正解なのか分からん


44:デフォルトの名無しさん
12/03/24 01:19:22.04
マルチスレッドにするという話?


45:デフォルトの名無しさん
12/03/24 01:40:17.86
外れててもその発想は凄い

>>40
テンプレートエンジン Pythonでぐぐってみて

46:デフォルトの名無しさん
12/03/24 02:42:17.90
>>42
そうだと思うのですが、どう書いたらいいのか分かりません
>>43
二つのループを同時に走らせたいのです。説明不足ですいません。


47:デフォルトの名無しさん
12/03/24 02:57:44.95
まさかのマルチスレッドw

48:デフォルトの名無しさん
12/03/24 02:59:56.21
>>39
使ってる2chビューワで
PC系の板だけdat内のスペースのまま表示・コピーできるようにした方が何かと楽。

49:デフォルトの名無しさん
12/03/24 05:02:13.31
>>46
基礎から勉強しましょう

50:デフォルトの名無しさん
12/03/24 06:58:53.10
>>45
ありがとうございます
Django等見つかりましたが
pythonが使えるってだけの共用サーバーだと、やはり厳しいようです
単純なhtmlとpythonだけじゃ無理っぽいですか?

51:デフォルトの名無しさん
12/03/24 07:06:00.64
>>46
マルチスレッドの話をしていると考えて、こんなかんじ。
1時間ごとじゃテストが動作チェックが面倒なので10秒ごとにしてある。

import threading, time, datetime

def disptime():
    while True:
        t = datetime.datetime.now()
        if t.second % 10 == 0:
            print t.strftime('%H:%M:%S')
        time.sleep(1);

t1 = threading.Thread(target=disptime)
t1.daemon = True
t1.start()
while True:
    x = raw_input()
    if x == '1':
        print"0ne"


52:デフォルトの名無しさん
12/03/24 07:59:15.55
>>50
Makoっていうのがよく使われてるみたいだけどどう?たぶんPythonで実装されてる

% cat hello.html
<html>
    <head><title>mako test</title></head>
    <body><p>Hello, ${name}!</p></body>
</html>

% cat hello.py
from mako.template import Template
mytemplate = Template(filename='hello.html')
print mytemplate.render(name='mako')

% python2 hello.py
<html>
    <head><title>mako test</title></head>
    <body><p>Hello, mako!</p></body>
</html>

53:デフォルトの名無しさん
12/03/24 08:11:33.78
痛々しい

54:デフォルトの名無しさん
12/03/24 08:51:46.05
>>51
ご丁寧にありがとうございます。

55:デフォルトの名無しさん
12/03/25 18:00:18.23
unittestの書き方についてなんだけど、
例えば
hoge/main.py
hoge/module/__init__.py
hoge/test/testmain.py
みたいなディレクトリ構造で、
main.pyにimport moduleが記述されてるとして、
python main.pyで実行したときはうまくいくけど
python test/testmain.pyのときはmoduleが見つからない
これってどうやって解消するの?

56:デフォルトの名無しさん
12/03/25 21:01:25.72
sys.path.append(os.path.realpath(".."))
import module

57:デフォルトの名無しさん
12/03/25 23:35:39.70 BE:1199519036-2BP(0)
>>56
質問者55ではありませんが,同じ疑問を持っていたいので
助かりました。
関連質問ですが,自作のモジュールを
/Volumes/vol_1/WebServer/CGI-Executables/01pythonMod01/
の下においている場合には,どのようにパスを指定すれば
よろしいのでしょうか?

58:デフォルトの名無しさん
12/03/26 00:10:00.29
.bashrcなどに
export PYTHONPATH=/Volumes/vol_1/WebServer/CGI-Executables/01pythonMod01:$PYTHONPATH
を書き加える

URLリンク(www.python.jp)
URLリンク(docs.python.org)
を読んだほうが早いよ

59:デフォルトの名無しさん
12/03/26 12:03:18.88
if文でよく%が使われたコードを見るのですがどういう意味なのでしょうか?
下のコードにおいて説明していただきたいです。変換指示子かなと思ったりしたのですが...
for num in range(100):
if num % 10:
continue
print num


60:デフォルトの名無しさん
12/03/26 12:11:00.73
剰余

61:デフォルトの名無しさん
12/03/26 12:58:16.54
どの言語でも基本的な演算子

62:デフォルトの名無しさん
12/03/26 12:59:03.21
いくら「超初心者用」でもこれはありなのか

63:デフォルトの名無しさん
12/03/26 13:57:29.32
>>59
Pythonにおいて
・数値に対する % は左辺の数値を右辺の数値で割り算したときの「余り」を返す
・ゼロ以外の数値は真(条件式としては成り立っているとみなす)であり、ゼロは偽(条件式としては成り立たないとみなす)である

よって、if の条件式として数値 % 数値という式を書いた場合
「左辺を右辺で割ったときの余りがゼロ以外」=「左辺を右辺で割ったら余りが出る(割り切れない)」
という意味になる

64:デフォルトの名無しさん
12/03/26 14:38:32.52
共通一次の数IIBの問題に毎年必ず出てくるパターン

65:デフォルトの名無しさん
12/03/26 18:54:08.58
そんなんで人のコード見てなんか役に立つのかな
ああ、コピペできるコード探してるだけだからそんな事はどうでもいいのか

66:3
12/03/27 19:35:10.13
例えば、Command 
という関数があるとき
文字列str = "Command"
を上手く変換して、strを使ってCommandを実行する方法はありますか?
同様にLIST = [1, a, x]
があるとき、
文字列str = "LIST"
を上手く変換してstrを使ってこのリストオブジェクトそのものを指定する
ことは出来ますか?つまり、
str[2] = aみたいなことがしたいのですが・・・

67:デフォルトの名無しさん
12/03/27 19:43:50.54
>>> a = "['a', 1, 2]"
>>> a
"['a', 1, 2]"
>>> b = eval(a)
>>> print b
['a', 1, 2]
>>> print b[1]
1

68:デフォルトの名無しさん
12/03/27 19:47:17.37
あんま馬鹿なことはしねえほうがいいよ

69:デフォルトの名無しさん
12/03/27 20:47:20.36 BE:4798073298-2BP(0)
>>58
>bashrcなどに
非常に分かりやすい解説をありがとうございます。
(bashrcの設定はMac上で何度もやってきたので
よく理解できました。)

>URLリンク(www.python.jp)
>URLリンク(docs.python.org)
>を読んだほうが早いよ
読みましたが,貴殿の解説の方が遥かに分かりやすいです。
本当に感謝します。

70:デフォルトの名無しさん
12/03/28 00:44:59.07
pythonmagickで(Imagemagickがつかえれば何でもいいだけど)
台形変形させるにはどうしたらいいですか?
C:\Progra~1\ImageMagick-6.7.6-Q16
%im%\convert.exe tt.jpg -matte -virtual-pixel transparent -distort Perspective "38,11 0,0 475,46 500,0 475,282 500,333 38,314 0,333" ttyy.jpg
てな感じで画像の四隅を指定して変形させたいんだけど
コマンドの描き方が分からない・・・。

71:デフォルトの名無しさん
12/03/28 02:53:24.60
>>70
PythonMagick-0.9.7のソースをGrepしてみたけど
バインディングされてないみたいよ

72:デフォルトの名無しさん
12/03/28 08:53:59.62
馬鹿には無理

73:デフォルトの名無しさん
12/03/28 10:25:56.87
>>70
コマンドでやれ。パイプを使えばファイルを作らなくてもいい

74:デフォルトの名無しさん
12/03/28 11:31:24.63
メトロってこの延長線上な気がする

URLリンク(2ch.at)
URLリンク(2ch.at)
URLリンク(2ch.at)
URLリンク(2ch.at)
URLリンク(2ch.at)
URLリンク(2ch.at)

75:デフォルトの名無しさん
12/03/28 12:02:39.06
__init__.pyは空にしておくのが一般的?

76:デフォルトの名無しさん
12/03/28 12:23:19.80
パッケージの初期化はそこに書くんだからそんな事ないよ

77:デフォルトの名無しさん
12/03/28 13:22:22.08
import threading

def fnc()
print "Hello"
timer = threading.Timer(3, fnc)
timer.start()

のように、書くとキチンと3秒後にHelloと表示されるのですが、
fncが引数を持つとき、fnc(5)などと指定して、
timer = threading.Timer(3, fnc(5))
などとすると、暴走してしまいます。どうしたら引数を持つ場合に
3秒後に動作させられますか?

78:デフォルトの名無しさん
12/03/28 13:23:22.12
あ、上のコードにミスがありました。

×def fnc()
○def fnc():

79:デフォルトの名無しさん
12/03/28 13:36:06.58
Timer(3, lambda: fnc(5))

80:デフォルトの名無しさん
12/03/28 14:11:05.61
>>79
そのやり方で上手くいきました!!
ありがとうございます!!

…それにしても、このスレマジで使えるな。
分からないことはたいがい教えてもらえる。
逆に言えばそれだけ、俺の能力が低いってことだがorz...

81:デフォルトの名無しさん
12/03/28 14:59:38.21
馬鹿には無理

82:デフォルトの名無しさん
12/03/28 20:13:16.52
なんでfncで良くてfnc(5)が駄目なのか、理由を理解しないと根本的な解決になってないよ。

83:デフォルトの名無しさん
12/03/28 20:31:13.61
コピペしかできないならVBでもやってろ

84:デフォルトの名無しさん
12/03/28 20:38:34.70
コードと文字列の区別が付いていないから

85:デフォルトの名無しさん
12/03/28 20:44:59.90
URLリンク(www.python.jp)
class threading.Timer(interval, function, args=[], kwargs={})(原文)
interval 秒後に function を引数 args 、キーワード引数 kwargs つきで実行するようなタイマを生成します。

functionは実行できなければいけない
典型的にはtypes.FunctionType

んで、fnc(5)はどうなってるか
という話

86:デフォルトの名無しさん
12/03/28 20:45:24.73
釣れますか?

87:デフォルトの名無しさん
12/03/28 20:53:31.07
爆釣です

88:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 03:03:32.82
s=abc s="cd ef"
という一行から、
abc "cd ef"
の二つを抜き出すにはどうしたら良いでしょうか?

89:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 03:11:52.92
>>77
import threading

def fnc(args)
print("Hello")
print("args =", args)

timer = threading.Timer(3, fnc, args=5)
timer.start()

90:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 03:16:53.16
args=5じゃ動かないよ

91:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 03:29:51.01
○ timer = threading.Timer(3, fnc, args=[5])

92:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 05:26:59.51
馬鹿には無理

93:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 13:34:51.45
有難うございます

>>71
なんという・・・orz

>>73
その手があったか・・・

94:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 15:24:47.27
>>88
>>> re.findall(r's=([a-z]+|"[a-z ]+")', 's=abc s="cd ef"')
['abc', '"cd ef"']

>>> 's=abc s="cd ef"'.split("s=")
['', 'abc ', '"cd ef"']

95:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 16:22:19.24
こんにちは、初めてここに質問させていただきます。

URLリンク(d.hatena.ne.jp)
↑youtube-dllというpythonのスクリプトを使ってようつべをDLするスクリプトが
あるのですが、上のURLを参考に試してもFile "<stdin>", line 1と表示された後
エラーでSyntaxError: invalid syntaxと返ってきます。
pythonは2.7.2、実行はPython (command line)というexeから実行しています。
なお、OSはwin7で64bitです。
もしご存じの方がいらっしゃいましたら宜しくお願いします。

96:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 16:51:57.82
都合の悪い箇所があれば伏せたうえでコマンドラインとエラー表示をそのまま貼ってみて
SyntaxError: invalid syntax 以外にも表示されてるだろうから

97:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 17:16:42.26
>>95はマルチポスト

98:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 17:34:16.22
>>96
返信ありがとうございます。以下エラー表示です。

>>> python youtube-dl.py URLリンク(www.youtube.com)○○
File "<stdin>", line 1
python youtube-dl.py URLリンク(www.youtube.com)○○
^
SyntaxError: invalid syntax

99:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 17:42:57.11
Pythonの対話モードじゃなくてWin7のコマンドプロンプトから実行しないと

100:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 17:46:57.56
>>99
ありがとうございます。
ググってもう少し調べてみます。

101:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 18:24:53.64
python 2.6.2で一生懸命勉強したりして何とかプログラム組んだ事あるけど
今は3が主流なの?
どうなんだろ…。もうpython 3をこれからは勉強した方がいいのかな…

102:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 18:27:12.77
Python 2.7.1ですが、正規表現で鬼車やPCREのような再帰のパターン検索をしたいと思うのですが
ライブラリ等で対応は出来ているものはあるでしょうか?。
((ab)(cd)ef(gh(ij)))
のようなもので()内を取り出したいんです。

103:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 18:34:12.79
ドキュメント読んだか?
URLリンク(www.python.jp)

104:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 18:46:46.12
読みましたけど、そのことを実現してくれる記述はどこにありますか?
わたしにはわかりませんでした。ご存知なら教えて下さい。>>103さんへ。

105:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 19:19:00.36
不愉快だから教えない

106:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 19:24:07.52
読んでる暇があったら実行してみた方が早いんじゃないかと思うよな
わざとドキュメント読んだか?って言ったんだろうけど

107:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 19:26:42.22
そりゃ幾らなんでも穿った見方過ぎだろw

108:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 19:47:30.95
>>> import re
>>> re.match(r'((ab)(cd)ef(gh(ij)))', 'abcdefghij').groups()

どこのスレも春爛漫って感じ
ついでに名前欄も

109:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 19:58:17.91
馬鹿には無理

110:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 20:10:53.33
無理って言う奴が馬鹿

111:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 20:15:22.54
馬鹿は死ね

112:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 20:30:07.51
>>102
どこに再帰があるんだ?
オレオレ用語はやめろ

113:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 20:49:31.00
再帰した正規表現を使いたいのかも

Ruby 1.9(鬼車)の\g とかPerlの(?PARNO)や(?R)が使えるのか
って話なのでは?


114:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 20:52:06.21
一般的にはグループ化のネストとか入れ子とか言いますね

115:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 21:13:02.23
上手くいかないんだけど。
$ bison youtube-dl URLリンク(www.youtube.com)○○
youtube-dl:1.1: invalid character: `#'
youtube-dl:1.2: invalid character: `!'
youtube-dl:1.3: invalid character: `/'
youtube-dl:1.4-6: syntax error, unexpected identifier

116:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 21:16:58.89
>>115
また斜め上に行ったな
というかbisonインスコされているのか…

117:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 21:59:50.50
>>113
そいうことですが、なぜ、こんなにたたかれるか不明です。
recursiveな正規表現パターンという言葉がオレオレだとは思わなかったです。まあわたしが悪いんでしょう。
でも、>>108の脳みそはどうなってるんですかね。信じられませんw

118:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 23:04:36.01
馬鹿には無理

119:営利利用に関するLR審議中@詳細は自治スレへ
12/03/30 00:00:20.72
pythonのおまんこ要員とは何ですか?

120:営利利用に関するLR審議中@詳細は自治スレへ
12/03/30 15:44:33.23
pass

121:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 02:18:17.88
bytesの値をそのまま出力するにはどうしたらいいのでしょうか?

print('{:s}'.format(data))

として、出力をbytesの生のままで出したいのですが、
print(data)
とした時の値がaaa.dataに出力されてしまいます。

python3 test.py > aaa.data

122:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 02:33:43.75
sys.stdout.write(data)
では駄目ですが、

with open('a.data', 'wb') as f:
f.write(data)

とすれば書込み自体はできると分かっていますが、
後々、|で連結して色々変態的なことをしたいのです。

123:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 02:37:24.23
python docを読んでいたら、

sys.stdout.buffer.write(b'abc')

と思いっきり書いてありました。
スレ汚し失礼しました。

124:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 11:14:15.24
googleのDeveloper's guide(URLリンク(developers.google.com))に、

playlist_entry_id = playlist_to_be_updated.id.text.split('/')[[]-1]

という記述があるのですが、最後の[[]-1]というのはどういう挙動を意図したものでしょうか
" unsupported operand type(s) for - " エラーが発生します

125:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 11:36:41.25
窓口に問い合わせるが吉

126:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 11:54:07.57
.split('/')[-1]の間違いじゃないかなあ
他にもauthsub_token = parameters[[]'token' ] とかあるので
どこかでゴミが入っちゃったんだと思う

127:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 20:10:17.01
print u"あいうえお".find(u"う")
で0が帰ってくるんですが、何がいけないんですか?

128:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 20:13:02.45
と思ったらPyScripterで保存すると日本語化けちゃうのか・・・
どうしたら日本語の文字コード保持したまま実行できるんでしょうか

129:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 20:17:54.90
自己解決しました
ファイルの頭に# -*- coding: utf-8 -*-つけたらできました

130:営利利用に関するLR審議中@詳細は自治スレへ
12/04/01 14:05:20.77
C:\youtube-dl>youtube-dl.py URLリンク(www.youtube.com)
[youtube] Setting language
[youtube] uEQkVJtyVTc: Downloading video webpage
[youtube] uEQkVJtyVTc: Downloading video info webpage
[youtube] uEQkVJtyVTc: Extracting video information
[youtube] RTMP download detected
[download] Destination: uEQkVJtyVTc.flv

ERROR: unable to download video


エラーになります><

131:営利利用に関するLR審議中@詳細は自治スレへ
12/04/01 14:39:49.74
プログラミングではなく単なるツールの使いかたの質問ならDL板のほうがいいんじゃないか
もしあっちで相談するなら youtube-dl -v <URL> のほうが話が早いかも

132:営利利用に関するLR審議中@詳細は自治スレへ
12/04/01 15:38:49.51
rtmpdump のスレ行った方が医院で内科医

133:営利利用に関するLR審議中@詳細は自治スレへ
12/04/03 16:45:28.92
py2exeでスタンドアローンのウィンドウズアプリもどきが作れたのですが、
バックのコマンドライン用のDOS窓が立ち上がってしまいます。
せっかく拡張子をpywとしているのですが、exeの方はそうなってしまいます。
どうしたらpy2exeで作ったウィンドウズプログラムでDOS窓が立ち上がらない
ように出来ますか?宜しくお願いします。

134:営利利用に関するLR審議中@詳細は自治スレへ
12/04/03 16:48:32.19
URLリンク(stackoverflow.com)

135:133
12/04/03 17:26:51.26
>>134
ありがとうございました。そのやり方で解決しましたm(_ _)m

136:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 01:43:00.81
open関数でファイルを開いて、writeメソッドでファイルに日本語混じり文字列を書きこみたいのですが、
そのままやると文字コードがShift-JISになります
UTF-8にしたいのですがどうすればよいでしょうか?
Python 3でOSはWindows 7(日本語版)です

137:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 01:54:02.78
fout = open('foo.txt', 'w', encoding='utf-8')

138:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 01:56:37.24
>>136
Dive Into Python 3 くらい読めば?

139:営利利用に関するLR審議中@詳細は自治スレへ
12/04/06 23:54:01.57
# -*- coding: utf-8 -*-
x = raw_input()
if x == u"こんにちは":
print u"こんにちは"
これを実行しこんにちはって打ち込むとUnicodeWarningと出るのですが、どうすればこんにちはと出るでしょうか。

140:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 01:23:54.10
>>139
print type(x), type(u"こんにちは"), type("こんにちは")
したらわかるけど、
if x.decode("utf-8") == u"こんにちは": #端末がUTF-8な前提

if x == "こんにちは":
にしないと比較できない。

141:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 02:39:29.61
>>140
if x.decode("utf-8") == u"こんにちは":

if x == "こんにちは":
の両方で試してみましたが、UnicodeDecodeError、UnicodeWarningがそれぞれ出ますorz

142:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 03:08:38.91
PythonのバージョンとOSも書かずに、文字コード周りの質問するなんていい度胸してんね

143:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 03:43:05.13
>>142
すいません。
windows vista 32bitでpython2.7です。

144:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 05:30:23.27
Windows使ってないからわからないけど、raw_inputで受け取るときの文字コードって使ってるシェル(コマンドプロンプト等)の文字コード依存するんじゃないか?
シェルの文字コードがshift_jisだとすると、utf8じゃunicodeにデコードできないし、coding: utf8を宣言してるからstrとの比較でも警告がでる、とか。

145:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 07:33:02.87
>シェルの文字コードがshift_jisだとすると、utf8じゃunicodeにデコードできないし、

↑これが正解
if x.decode("utf-8") == u"こんにちは":
じゃなくて
if x.decode("cp932") == u"こんにちは":
だろう


>coding: utf8を宣言してるからstrとの比較でも警告がでる、とか。

少なくともこの↓元のコードに対するコメントとしては全く的外れ
if x == u"こんにちは":

↓のことを言ってるなら「strとの比較」と言えるが
if x == "こんにちは":
質問者は何をやってるのか自分で判ってるのかな


そもそも
if x.decode(sys.getdefaultencoding()) == u"こんにちは":
でも動きません(キリッ)とか
さらなる突っ込みに発展する話題

146:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 08:11:37.06
Pythonスレでは煽りを入れることなく簡潔に淡々とお願いしますね

147:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 08:13:43.57
setdefaultencodingの話題はタブー

148:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 08:17:03.91
>>140
if x.decode("utf-8") == u"こんにちは": #端末がUTF-8な前提

#端末がUTF-8な前提
ってちゃんと書いてあるのに
無視した >>141 が悪い
コメントを読んでないか
知識がなくて意味が判ってない
と判断されても仕方ない

149:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 08:52:27.08
python インストールした後に sitecustomize.py とか自分でまじめに編集してるひといるの?

●UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。
URLリンク(d.hatena.ne.jp)

●Pythonの文字化け対策:sys.setdefaultencodingの謎
URLリンク(hain.jp)

>>> import sys
>>> hasattr( sys, 'setdefaultencoding' )
False
>>> reload( sys )
<module 'sys' (built-in)>
>>> hasattr( sys, 'setdefaultencoding' )
True

(以下引用)
文字コードを変更するのはそんな根幹を揺るがすものなのか?
ソースコードの先頭付近に# coding: UTF-8とか打たなきゃならないのに、
エンコーディングの変更をやってはいけないというのはイマイチしっくりこない。
デフォルトエンコーディングがUTF-8と確定している場合ならまだしも、
asciiがデフォルトであることがほとんどだとすると変えざるを得ないのでは?
例えば配布用アプリケーションを作ったとして、利用者にsitecutomize.pyを追加してくださいと
案内をしなきゃならないってのはちょっと難しい。それに内部にある設定ファイルで文字コード設定するのは
ハマリの元だというのは前述の通り。言語が変わったからといってそこが変わることはない。
しかも、sitecutomize.pyはPythonが起動してから”自動で”読み込まれるだけで、スクリプト上にあることに代わりはない。
[禁じ手中の禁じ手]という彼の意見は的はずれだ。

●Python でのエンコード指定
URLリンク(d.hatena.ne.jp)

なんか bad know how が定着していく悪寒

150:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 08:56:40.91
>>2

151:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 09:08:58.67
馬鹿には無理

152:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 09:14:18.36
UserIntelligenceError: You are too fool to use Python

153:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 09:29:56.73
>python インストールした後に sitecustomize.py とか自分でまじめに編集してるひといるの?

俺はやってない
機種依存とか環境依存のコード書きたくないからね

154:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 10:03:15.12
俺もやってない
入力されたところでdecodeすればいいから
だがargparseがstr返してきて泣いた
Python3よこんにちは

155:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 10:06:43.23
>>149
sitecustomize.pyなんてあるのか
知らんかったorz

156:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 10:22:54.30
freezeするときはsys.setdefaultencodingとlocale.setlocaleくらいしてもいいだろうけど

157:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 15:14:55.79
>>148
いや
俺はむしろ >>140>>141 は同一人物を装った自演だと考えているよ

158:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 16:33:49.04
Python-list を購読しているのですが、
一通のメールに複数のメールが含まれています。
一通一通受信するにはどうしたらよいでしょうか?

159:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 18:06:01.99
煽り多すぎわろた

160:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 21:43:20.68
’alice=%d'%18の意味がよく分かりません。
alice=%dが十進数でありそれを18で割った時の余りを求めていると考えているのですが、
実行結果はalice=18になるので私の考えは間違っていると思います。


161:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 21:48:40.29
>>160
文字列に対する % は文字列フォーマット操作。
左辺が書式指定、右辺がその書式中に埋め込む値になる。

162:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 21:54:02.04
>>161
なるほど。ありがとうございます。

163:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 11:10:42.73
Macのドリンクは氷が多すぎる

164:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 11:12:54.74
日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
URLリンク(speirs.blog17.fc2.com)
URLリンク(atomic.jpn.ph)
URLリンク(d.hatena.ne.jp)

スレリンク(tech板:339番)
339 :デフォルトの名無しさん:2008/08/23(土) 08:36:00
    PythonのUnicodeEncodeErrorを知る
    URLリンク(lab.hde.co.jp)

    よくまとまってた。あとで読む


165:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 11:42:32.10
知らないencodingの文字列が入ってくる事自体がおかしい
crawlerとかで本当に不定なら三番目みたいにchardet使うべき
お前の頭がバッドなだけ
どこでどう変換されるかわからないなら素直にpython3使え

166:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 12:00:03.31
>>163
氷抜きにしてもカサが減らない良心的なとこなのに。。。

167:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 15:36:28.50
使ってみればわかるけど、chardetは物凄く遅いよ


168:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 16:00:19.39
速い必要ないだろ…
一体どんなコード書く気だ

169:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 17:55:43.70
import tweepy

def authentication():
consumer_key = "****"
consumer_secret = "****"
access_key = "****"
access_secret = "****"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)

api = tweepy.API(auth_handler=auth)

def tweet(tweet_str):
api.update_status(tweet_str.decode("utf8"))

tweet("test")

実行するとAttributeError:"NoneType"object has no attrbute "update_status"
と出ます。
どうすればいいでしょうか?



170:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 19:28:19.77
>>168
何で速い必要がないと言い切れるんだ?


171:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 19:37:37.16
>>169
def authentication()のブロックはどこまで?インデント壊れててわからない

172:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 19:49:32.38
>>171
auth.set_access_token(access_key, access_secret) までです。

173:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 20:00:24.02
>>172
それだと api = tweepy.API(auth_handler=auth) のとこでエラー出ない?
それか別の場所で auth ってグローバル変数を使ってそうだな。

174:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 20:02:56.41
>>172
import tweepy

def authentication():
    consumer_key = "****"
    consumer_secret = "****"
    access_key = "****"
    access_secret = "****"
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth_handler=auth)

だとすると api = tweepy.API(auth_handler=auth) の時点で
authが定義されてないからNameErrorになるんじゃない?

def authentication():
    ...
    auth.set_access_token(...)
    return auth
auth = authentication()
api = tweepy.API(auth_handler=auth)

としてみるとか

175:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 20:08:51.05
あるいは無理に関数にしないで

import tweepy
consumer_key = "****"
consumer_secret = "****"
access_key = "****"
access_secret = "****"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)

も試してみて

176:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 21:14:23.72
pythonってpythonが入ってないマシンで動かす方法はありますか?
バイナリにする以外で

177:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 21:23:34.61
>>176
py2.exeを試してみてください。Python2.6に対応しています。
URLリンク(www.python.jp)

178:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 21:33:12.83
>>175
このやり方でOAuth認証は通せました。
ありがとうございます。
しかし、あとのtweetする部分でエラーが出ます。
api.update_status("test")と単純にしてもダメでした。
tweepy.error.TweepError:Invalid/expired Tokenとでます。

179:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 21:35:30.36
>>177
バイナリいが・・・いえ、ありがとうございます。

180:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 21:47:55.75
バイナリ以外なら鯖で動かすしかないよな

181:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 22:31:13.65
>>178
そのエラーにはトークンが間違ってるか期限切れって書いてある
consumer_key/secret, access_key/secret(のいずれか)に問題があるんだろうけど
これ以上のことはわからない

182:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 22:55:45.56
>>181
Oと0を見間違えてましたorz
ありがとうございます。

183:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 18:02:32.78
BeautifulSoupってwindowsにインストール出来ない感じですか?

184:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 18:10:41.90
出来る感じ

185:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 18:47:41.66
>>184
tar.gzファイルしか見当たらないのですが...
そうすればいいでしょうか?

186:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 18:53:26.06
展開してpython setup.py install

187:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 22:11:07.92
>>186
インストールしたあと、import beautifulsoupするとimport error出るんですが...


188:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 22:16:45.43
import BeautifulSoup

189:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 22:26:50.60
>>188
それでも出ます...

190:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 22:29:51.60
じゃあ、インストールできてないんだろう

191:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 22:35:23.51
unsigned charな値をビット反転させたいです(116が139になって欲しい)。
pythonのビット反転は桁数制限が無いから+1して符号反転させる、
とリファレンスにありますが、なにかその辺便利なライブラリとか
ありませんでしょうか?


192:191
12/04/09 22:36:12.91
256で引けばいいだけじゃねぇかスミマセン自己解決しました。

193:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 22:37:57.44
>>190
4.0.3で無理だったので、3.2.1でやるとインストール出来たのでこれでいきますorz

194:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 22:40:19.89
ubuntuだと4.0.3動いてるぞ

195:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 22:57:15.58
BeautifulSoup4はPython 2.7以上を要求って公式に書いてあるじゃん…

196:営利利用に関するLR審議中@詳細は自治スレへ
12/04/09 23:00:21.94
import bs4

197:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 01:16:07.73
>>196
いけましたっ ありがとうございます!

198:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 04:13:13.51
日本語チュートリアルを見ていたら、
forやwhileがelse節を持つ、というのにびっくりしました。

>>> for n in range(2, 10):
...    for x in range(2, n):
...      if n % x == 0:
...        print n, 'equals', x, '*', n/x
...        break
...    else:
...       # 因数が見つからずにループが終了
...       print n, 'is a prime number'

上記のelseは、ifに係るのではないのですか?

199:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 04:15:57.37
初耳
しかしインデントがある

200:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 05:12:05.39
自分で使ったこともないし、使ってるのもあんまり見たことない。
まぁ俺が見ないだけかも知れないが。

ただtry...except...else...finallyのelseは使ってるの見たな。
無事tryを抜けた場合を扱えるのはなかなかいいと思う。

201:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 18:10:32.86
forのelseって最後のiが入っているんだ。
最後の値だけ何かしたいとか無いからこんなん使わないな。

>>> for i in range(3):
... print('i =', i)
... else:
... print('i =', i)
...
i = 0
i = 1
i = 2
i = 2
>>> for i in range(3):
... print('i =', i)
...
i = 0
i = 1
i = 2

202:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 18:33:34.98
その最後の i を使うため (だけ) に else 節があるわけじゃないでしょ。
break でループを脱出した時には実行されないから、そういう用途でしょ。
else って名前はどうよとは思うけど。

203:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 18:36:28.32
>>198をelseつかわずにフラグ使って書いてどっちがいいか比べるといいかも

204:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 19:15:09.67
for else は番兵的に使ったことならある

205:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 20:17:32.88
Pythonプログラムで2chのレスを読み込んだり、書き込んだり出来る
プログラムを組みたいのですが、どうすればよいのでしょうか?
また、詳しく紹介しているサイトはありますか?
宜しくお願いしますm(_ _)m

(※勿論、荒らし等が目的ではありません。)

206:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 20:26:00.43
>>205
URLリンク(monazilla.org)

207:営利利用に関するLR審議中@詳細は自治スレへ
12/04/10 21:42:57.96
>>192
116 ^ 255


208:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 10:31:07.90
Pleskの入ったvps(centos)を利用しています。

Python2.7.2をインストールする際に
「Pythonプロフェッショナルプログラミング」のp3にある

$ sudo chmod -R 0775 /usr/local
$ sudo chgrp -R bpbook /usr/local
$ wget URLリンク(python-distribute.org)
$ sudo python distribute_setup.py

をルート権限で実行した後からPleskの管理画面でエラーが表示されるようになりました。
上の2つは入力しない方が良かったのでしょうか?
それとも#で実行したのが問題だったのでしょうか?

以下、表示されるエラー
Components::componentUpdate() failed: Unable to exec utility packagemng: packagemng: failed to open semaphore file /usr/local/psa/var/utilities.sem: Permission denied
System error 13: Permission denied

209:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 10:56:36.23
簡単な英語ぐらい努力して読め

210:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 12:54:40.17
>>209
死ね

211:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 13:28:54.67
>>208 です。
サポートから連絡が来ました。
やはりパーミッションの変更が原因だったようです。
本の通りにインストール出来ないって事になるんで他のインストール方法を探さないといけないですね。
Plesk無しのVPSへ変更を検討してみます。
ちなみに >>210 は私ではありません。

212:片山博文MZボット ◆0lBZNi.Q7evd
12/04/11 13:31:46.42
翻訳すると:
ユーティリティ packagemngを実行できません。
セマフォファイル/usr/local/psa/var/utilities.semを開くのに失敗しました:
権限がありません。
システムのエラー13: 権限がありません。

213:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 13:42:53.14
エラーメッセージ読めん奴にVPS弄る資格があるのか

214:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 13:53:16.97
英語厨ってどこにでも出現するよなw

215:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 14:17:58.34
>>208
$ sudo chmod -R 0775 /usr/local
$ sudo chgrp -R bpbook /usr/local

はその本に書いてあったことなの?
-Rは再帰のRだからずいぶん大胆に思えるけど

216:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 15:04:53.62
こいつは日本語で書いてあっても理解できないだろw

217:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 15:05:47.61
>>208 です。
エラーの意味は大雑把にわかってました。
「権限が無いから /usr/local/…を使えないよ」

訳が知りたかったのではなくて、
本当に該当コマンドが原因だったのかという事と、そのコマンドは省略してもいいのかという事が知りたかったのです。

「訳はわかってます」と書くと生意気な気がしたので黙っていようと思ったのですが、スレッドが英語ネタにそれてしまいそうなのでコメントさせていただきました。

218:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 15:10:31.29
ほらなw

219:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 15:13:26.20
>>217
とりあえず>>215に答えてほしい
その二行は本に書いてあったのかどうか

220:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 15:45:32.69
おれは >>217 じゃないが
その本は読んでないし読もうとも思わない
それにもし本当に前後の断り書きなくそう書いてあった
今すぐ捨てろ
他のVPSに乗り換えても遅かれ早かれ同じような結果になることを保証する

221:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 15:46:48.04
間違った操作をすべて帳消しにしてくれる素敵なコマンド

$ sudo rm -Rf /


222:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 17:02:47.07
はいはい
ステマステマ

223:208
12/04/11 17:24:25.66
>>219
本のまんまを書いてます。
ただ、本ではVirtualboxに入れたUbuntuという設定です。


224:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 17:35:20.41
pythonとかはくわしくても*nixのシステム管理にはド素人の人が書いたんだろうね。

225:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 18:06:41.31
野球のルール知らないけどセリーグ得点王ぐらいありえない話じゃないかそれ

226:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 18:58:33.29
翻訳本かと思ったらまた日本人が書いたやつか…

227:営利利用に関するLR審議中@詳細は自治スレへ
12/04/11 20:21:40.35
>>225
そうなんかな。
純粋に仕事はアプリ開発が担当で、普段はWin使いで、*nixは他のシステム管理担当者が用意した環境で
使ったことしかなくて、*nixはズブのド素人だけど執筆する上でLinux環境用意しないといけないんでUbuntu
つかってやってみてます、みたいな。
ググるとpythonに関する内容は素人レベルでひどいってわけでもなさそうじゃんその本は。

ていうか、そもそも>>208が既存のpythonのパッケージをインストールしたいからっていうんなら、distribute
使わなくてもCentOSのリポジトリにあればそれをyumで入れればいいんじゃないの?
CentOSもpypiも使ってないんでよくしらんけどだいたいあるでしょ。バージョン超古そうだけど。

228:デフォルトの名無しさん
12/04/13 17:56:39.37
マシン語やアセンブリに対して、高級言語ってのはFORTRANの時代からずっと
プラットフォームについての知識が最低限でも組める、という方向を目指して進化してきてるからね
Pythonのことはしっかり知ってるのにシステムのことは素人、てのは別に不思議なことでもない

229:デフォルトの名無しさん
12/04/13 18:14:26.28
目次

1 Pythonで開発しよう(Pythonをはじめよう
Webアプリケーションを作る)
2 チーム開発のサイクル(チームの開発環境を整える
ドキュメントの基盤を整える
課題管理とレビュー
モジュール分割設計と単体テスト
パッケージングと環境セットアップの自動化
Mercurialによるソースコード管理
Jenkinsで継続的インテグレーション)
3 サービス公開(環境構築とデプロイの自動化
アプリケーションのパフォーマンス改善
Google App Engine)
4 開発を加速するテクニック(テストを味方にする
Djangoを便利に使う
便利なPythonモジュールを使おう)
Appendix(VirtualBoxのセットアップ
OS(Ubuntu)のセットアップ)

まあ, この内容ならシステム管理の素人が書いてもまったく問題はなさそうだな.

230:デフォルトの名無しさん
12/04/13 20:07:56.19
Pythonスタートブックが良書なのは知ってるんですが、この本以外に分かり易い本ってありますか?

231:デフォルトの名無しさん
12/04/14 10:40:42.69
はいはい
ステマステマ

232:デフォルトの名無しさん
12/04/14 15:35:15.05
Tkinterをインポートしようとしたら

>>> import Tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter

と表示されました。help("modules")で確認したら_tkinterが無いのは分かったんですが
導入の仕方が分かりません。
OSはdebian6.0.4 AMD64 です。pythonは2.7.3を使っています。

233:デフォルトの名無しさん
12/04/14 15:42:56.63
apt-get install python-tk

234:デフォルトの名無しさん
12/04/14 15:45:31.44
>>232
aptでpython-tkを入れる


235:デフォルトの名無しさん
12/04/14 15:58:09.04
>>232はマルチ

236:デフォルトの名無しさん
12/04/14 16:15:16.34
>>233
>>234
python-tkを入れて /usr/local/lib/python2.7/lib-tk/Tkinter.py
があることは確認したのですが同じ結果になりました

237:デフォルトの名無しさん
12/04/14 16:20:44.93
>>235
マナー違反だったんですねすいません

238:デフォルトの名無しさん
12/04/14 16:40:53.81
>>236
apt-getで入れてねーだろカス。

239:デフォルトの名無しさん
12/04/14 16:42:34.06
>>238
apt-get でいれてます

240:デフォルトの名無しさん
12/04/14 17:09:10.36
>>232
PythonのバージョンがDebianにしては新しいようだけどどうやってインストールしたの?

241:デフォルトの名無しさん
12/04/14 18:08:06.77
>>240
ソースからビルドしました

242:デフォルトの名無しさん
12/04/14 18:51:43.82
>>241
PythonをビルドするときにTcl/Tkやらのヘッダがなければ
Tkinter使えるようにならないよ
後からpython-tkを入れても手遅れ

243:デフォルトの名無しさん
12/04/14 21:31:59.20 BE:4198314479-2BP(0)
迷惑メールを送り続ける業者に対して,Pythonスクリプト+
hotmailで「迷惑メール送信をやめて下さい」という内容の
メールを,1時間で1000通出したいのですが,参考になる
サイトはございますか?

244:デフォルトの名無しさん
12/04/14 21:39:31.42
>>243
多分向こうにダメージ無いぞソレ

245:デフォルトの名無しさん
12/04/14 21:44:37.29
>>243
あなたがアク禁になる手引きをするつもりはないのでお帰りください

246:デフォルトの名無しさん
12/04/14 22:07:11.09
意味ないどころか、mailer-daemon failureが1000通返ってくるんじゃねーの?w

247:デフォルトの名無しさん
12/04/14 22:07:34.14
問題は迷惑メールを送り続ける業者のメールアドレスをどうやって入手するかだな

248:デフォルトの名無しさん
12/04/14 22:44:19.10
>>236=239=241 ??
apt-get で普通に入れて /usr/local に入るわけないし、python を自分でソースからビルドした
ってのがパッケージ管理の管理外でやったならすべて自己責任の世界。
半分スレチだし、質問するとしても自分がやったことすべて列挙してそれのどこに間違いがあっ
たのかを聞くのが正しい聞き方。

249:デフォルトの名無しさん
12/04/14 22:54:32.56
ごめん

250:デフォルトの名無しさん
12/04/15 19:43:18.41
if "a" in ["a", "b", "c"] == True:
print "True"
else:
print "False"
これの実行結果をTrueとして出したいのですが、Falseとして出ます。
どうしたらTrueと出るでしょうか?

251:デフォルトの名無しさん
12/04/15 19:49:48.14
if ('a' in ['a', 'b', 'c']) == True

252:208
12/04/15 20:05:39.26
>>243
迷惑メール相談センター
URLリンク(www.dekyo.or.jp)

253:デフォルトの名無しさん
12/04/15 20:21:58.06
何でこんなになるんだろうね(2.7.2)
>>> abc = ["a", "b", "c"]
>>> "a" in abc
True
>>> "a" in abc == True
False
>>> "a" in abc == abc
True
>>> "a" not in abc == abc
False

254:デフォルトの名無しさん
12/04/15 20:30:04.23
>>253
演算子の優先順位

255:デフォルトの名無しさん
12/04/15 20:34:33.05
>>253
URLリンク(www.python.jp)

256:デフォルトの名無しさん
12/04/15 20:34:38.75
>>> "a" in abc == True
False
>>> "a" in (abc == True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: argument of type 'bool' is not iterable

257:デフォルトの名無しさん
12/04/15 20:35:06.66
>>254
具体的にはどこが優先されているの?

258:デフォルトの名無しさん
12/04/15 20:58:38.50
これ、優先順位というか比較の連鎖か。
比較の連鎖ってのは x < y < z みたいな書き方のことね。

だから
"a" in abc == True

"a" in abc and abc == True
とほぼ同じ。(正確には上だとabcが一回しか評価されない)

abc == True は偽だがらFalseが返る。

259:デフォルトの名無しさん
12/04/15 21:04:36.84
>>258
勉強になった

260:デフォルトの名無しさん
12/04/15 21:05:05.53
inでも有効なのか。知らんかったわ

261:デフォルトの名無しさん
12/04/15 21:16:32.54
>>> [] in [[]] == True
False
>>> [] in [[]]
True
>>> [] in [[]] == []
False
>>> ([] in [[]]) == []
False
>>> [] in ([[]] == [])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: argument of type 'bool' is not iterable

262:デフォルトの名無しさん
12/04/15 21:17:31.07
>>> [] in [[]] and [] == []
True

263:デフォルトの名無しさん
12/04/15 22:43:38.57
>>259
pythonドキュメントにまるっきり同じことが書いてあるわけだが。

264:デフォルトの名無しさん
12/04/15 22:48:46.76
>>263
勉強になった

265:デフォルトの名無しさん
12/04/15 22:52:10.61
>>263
へーpythonドキュメントにまるっきり同じことが書いてあるのか。勉強になった。

266:デフォルトの名無しさん
12/04/15 23:17:43.33
ドキュメント厨か

267:デフォルトの名無しさん
12/04/15 23:41:38.27
DQM

268:デフォルトの名無しさん
12/04/15 23:42:56.16
>>267
採用

269:デフォルトの名無しさん
12/04/16 00:06:59.64
pass

270:デフォルトの名無しさん
12/04/16 01:42:10.33
>>269
おい!なんで俺のパスワード知ってんだよ


271:デフォルトの名無しさん
12/04/16 13:35:30.05
>> 208
$ sudo chmod -R 0775 /usr/local
$ sudo chgrp -R bpbook /usr/local
これやらなくていいです。こんなことしなくてもsudoしてるので、distributeのインストールに問題ありません。


272:デフォルトの名無しさん
12/04/16 14:44:24.70
>>271
そもそも>>208みたいに手動でdistributeを入れなければいけないのかどうかを先に論じるべき。

273:デフォルトの名無しさん
12/04/16 14:51:47.15
258 名前:デフォルトの名無しさん [sage]: 2012/04/15(日) 20:58:38.50
これ、優先順位というか比較の連鎖か。
比較の連鎖ってのは x < y < z みたいな書き方のことね。

だから
"a" in abc == True

"a" in abc and abc == True
とほぼ同じ。(正確には上だとabcが一回しか評価されない)

abc == True は偽だがらFalseが返る。

実行結果が異なるんですけど

>>> [] in [[]] == True
False

>>> [] in [[]] and [] == []
True

274:デフォルトの名無しさん
12/04/16 15:16:37.73
>>275
URLリンク(docs.python.org)

[] in [[]] == True は [] in [[]] and [[]] == True といっしょということだろう
( [] in [[]] ) == True ではない

こういう書き方は混乱の元だからやらないほうがいいと思う

>>271
そんなことをするとどんな危険性がありますか?

275:デフォルトの名無しさん
12/04/16 15:17:47.45
>>273 どこが?

276:デフォルトの名無しさん
12/04/17 02:25:28.81
くだらんけど
chgrpするならchmodでグループのスティッキービットたててほしい。

277:デフォルトの名無しさん
12/04/17 03:50:05.54
$ sudo rm -Rf /

278:デフォルトの名無しさん
12/04/17 04:50:23.93
はいはい
ステマステマ

279:デフォルトの名無しさん
12/04/17 23:27:22.37
本も質問者もひどいもんだな。

280:デフォルトの名無しさん
12/04/18 17:24:56.56
pass

281:デフォルトの名無しさん
12/04/19 10:42:32.51
Pythonチュートリアル第2版の10.12節に「電池付属です」と銘打った説があって、「Pythonには『電池付属』の哲学がある。」と書いてあるのですが、これってどういう意味なんでしょうか?
「電池付属」って、英語特有の慣用表現みたいなもの?

282:デフォルトの名無しさん
12/04/19 10:48:21.90
>>281
すぐ使えるようにする、ってこと

283:デフォルトの名無しさん
12/04/19 12:00:15.04
おもちゃのCMとかで最後に必ず「Each sold separately, batteries not included.」
みたいな注意書きがはいる(たいてい1秒程度でしゃべる)。そのもじり。


284:281
12/04/19 12:31:15.81
勉強になりました。thxです。

285:デフォルトの名無しさん
12/04/19 14:24:02.38
核電池

286:デフォルトの名無しさん
12/04/19 20:03:53.82
電池付属もいいんだが、Python付属のは液漏れしてる

287:デフォルトの名無しさん
12/04/19 21:26:21.55
電池で思い出したけど、電池で動くような小型の端末で、ちまちまPythonのコードを書いたり動かしたりできるもんって無いのかなあ???

288:デフォルトの名無しさん
12/04/19 21:55:19.17
>>287
URLリンク(www.disinterest.org)

289:デフォルトの名無しさん
12/04/19 22:26:34.61
>>287
android電話でsl4a

290:デフォルトの名無しさん
12/04/19 23:19:48.82
おおおお、いつの間にかいろんなのあるんだなあ。
最近でたっぽい、Python for iOSを買ってみるか。
電池じゃ動かないけど・・・・

291:デフォルトの名無しさん
12/04/20 01:09:06.94
え

292:デフォルトの名無しさん
12/04/20 15:50:03.15
pythonでGUIプログラムを作ろうと思って情報収集していたのですが
URLリンク(code.google.com)
このようなものを見つけました
そもそもプログラミング初心者の上英語もちんぷんかんぷんで何がなんだかなのですが
これはpythonのGUIをvistaっぽくする何かってことでいいんでしょうか?
もしそうであった場合、こういったデータの使い方は学習サイトのどういう項目で勉強すれば良いのかまでご教示して下されば幸いです

293:デフォルトの名無しさん
12/04/20 16:05:25.12
>>292
どんなものを作りたいのか具体的に書いた方がアドバイスしやすいと思う
リンク先は2009年に更新が止まっているので論外

294:デフォルトの名無しさん
12/04/20 16:24:46.68
ぱっと見では全然開発が進んでないように見える
Vistaの部品を模してとりあえず4つwidgetができて、その後半年かけてバグ取ったと書いてあるが
多分使い物にならんだろう

しかしここにもないものを
URLリンク(wiki.python.org)
よく見つけてきたな~

295:デフォルトの名無しさん
12/04/20 17:11:26.00
返答ありがとうございます
個人的にはvistaのようにウィンドウを透かす感じのデザインにしたいのですが
そういったことは可能なのでしょうか?
それともそれの開発が滞っているように難しいことなのでしょうか?

296:デフォルトの名無しさん
12/04/20 17:46:16.40
Windowsネイティブの部品を使うライブラリならある程度見た目は
似せられるだろうけど、透明度の変更とか細かいことをやりたいなら
Win32APIを直接操作するしかないと思う
>>294のサイトで言うと"venster"、"Win32All"というあたり

ただこれらは、WindowsのAPIを直接呼ぶはずなので、PythonというよりCやC++でプログラムを
書くのに近い作業になると思う Win32APIの資料も必要
また日本語ドキュメントが揃ってないとくじけると思うけど、こういうマイナーなライブラリには
日本語資料がほとんどないはず

Windowsはあんまり詳しくないんで詳しい人補足お願いします

297:デフォルトの名無しさん
12/04/20 18:00:34.91
>>295
具体的にどこを透かせたいの?
あと、実行環境も書いてね

298:デフォルトの名無しさん
12/04/20 18:04:13.96
>個人的にはvistaのようにウィンドウを透かす感じのデザインにしたいのですが
>そういったことは可能なのでしょうか?

それだけならかなり簡単
あなたの言うリンク先のモジュールとかもいらない

299:デフォルトの名無しさん
12/04/20 18:19:02.57
具体的に

300:デフォルトの名無しさん
12/04/20 18:27:38.69
実行環境とはOSのことでいいのでしょうか?
だとすればwindowsですが、やはりLinuxで類似のデザインにしたい場合は勝手が変わってくるのでしょうか?
窓の後ろがどうなってるのかわかるようにしたいのでフレームの透明度変更の遣り方が知りたいです

301:デフォルトの名無しさん
12/04/20 19:01:11.37
Aero Glass効果が欲しいんなら、DWMAPIってやつを使うようだ
ただし、API一つ呼んで終わりじゃなくて自分で半透明で描画しないといけない
既存のコントロールを透過させたいんならWM_CTLCOLOR、オーナードローや
カスタムドロー
原理的にはウィンドウハンドル取る手段さえあればツールキットは問わないはず
あとはpure Pythonコードでやりたいならctypesで

CやC++でのAPIレベルのプログラミングの経験が無いなら無謀

302:デフォルトの名無しさん
12/04/20 19:41:12.03
Pythonって関数定義やクラス定義の終わりを明示しないのっ!?
ソース見てたら、インデントが入ってることから判断すると内部クラスっぽいのがあんだけど
他の言語やってる経験からするととてもそうには見えない
これ、どうやって内部クラスかそうでないかを判別するんだよ
おせーて、そこのナイスな変態さん!

303:デフォルトの名無しさん
12/04/20 20:33:46.18
API3つくらい呼んで終わりなんだけどなぁ

304:デフォルトの名無しさん
12/04/20 21:07:57.33
>>302
折り畳むかアウトライン解析かな
vimならpython_fold.vim,tagbar.vim
手元にある他のエディタでは
SPE,eclise+pydev,geanyなどは
標準で備わってる機能だね

305:デフォルトの名無しさん
12/04/20 22:18:06.58
>>302
インデントレベルが浅くなる、という形でしっかり明示されてると思うが

306:デフォルトの名無しさん
12/04/20 22:24:06.39
>>302
from __future__ import braces

307:デフォルトの名無しさん
12/04/20 22:27:03.04
なんて親切なスレなんでしょう(棒

308:302
12/04/21 00:42:38.92
どういう誤解なのかわからないが
いやいや、パッケージをインポートするとかどうとかって話じゃない
あるクラスが定義されていてそいつが
内部クラス(インナークラス)なのか、そうではないただのクラスなのかって話だ
Pythonには内部クラスの概念がないってのならまあ、それで解決するんだが
だが、
URLリンク(d.hatena.ne.jp)
によると、できるらしい
で、そのソースを見てもやっぱり区別がつかないというわけだ

>>305
そんな曖昧すぎる言語仕様があってたまるか

309:デフォルトの名無しさん
12/04/21 00:47:53.36
>>308
もう面白くないから帰っていいよ。

310:302
12/04/21 01:18:33.18
内部クラスについて聞いているだけなのに、
どうして俺がさもふざけてるような扱いをされるのか
おこちゃまなガラスの自尊心がブロークンハート状態なんですねわかります
君が今回得るべき教訓は、『そういう態度をとる事こそ真に恥ずかしい』だ

この質問を続けていると荒れてしまいそうだから、
ここでの質問は打ち切って2ちゃんねる以外の掲示板で聞くことにする
もし、ム板の「Pythonのお勉強」スレで訊いたら同じやつに絡まれるからな

311:デフォルトの名無しさん
12/04/21 01:25:38.24
内部定義が一見してわからんソース(長かったり空行挟んでないとか)は、
書いたやつがクソって世界だから。
強制力はないけど言語仕様でそういうの排除できるって頭よくない?

312:デフォルトの名無しさん
12/04/21 01:34:22.96
>>310
>>305が的確に回答してるのに
>そんな曖昧すぎる言語仕様があってたまるか
で返すのみたら誰だってふざけてると思うよ。
もしまだ不満なら何が気に食わないかを具体的に書けばいいだけ。

それ以前にまともに相手して欲しかったら普通の文体で淡々とやり取りすればいい。
それができないことこそ真に恥ずかしい。

313:デフォルトの名無しさん
12/04/21 02:13:50.23
まあどこで訊いても>302の答えは>305だから、
>302,310はどこ行っても「自分の欲しい答え」は貰えないんじゃない?
Pythonだけがプログラミング言語じゃないんだし、勝手に他の言語使ってれば? と思う。
視野は狭くなるけど、自分で狭めてるんだからそれはしょうがない。

314:デフォルトの名無しさん
12/04/21 02:24:25.94
emacsのPython Modeでは

[1]def foo():
    [2]def bar(): ...
    [3]def baz(): ...

[3]でC-c C-u (py-beggining-of-block) すると[1]には飛ばず[2]に飛ぶ
[3]から[1]に直接飛ぶコマンドがあってもよさそうだ。ちらし

315:デフォルトの名無しさん
12/04/21 03:37:30.62
ちらしage

316:デフォルトの名無しさん
12/04/21 10:17:00.93
>>308
>そんな曖昧すぎる言語仕様があってたまるか

曖昧でも何でもない
Pythonでは自由なインデントは認められてなくて
インデントの仕方について厳密な規定があるからな
だからインデントレベルが下がるのは必ず何らかの構造の終わりを示す

317:デフォルトの名無しさん
12/04/22 10:05:29.48
すんません
Windows XP環境で、コマンドラインからNTPサーバーに接続して時刻あわせをするスクリプトが欲しいのですが
どうやれば良いか試行錯誤しています。
見本を見せてもらえませんか?

318:デフォルトの名無しさん
12/04/22 10:11:16.04
URLリンク(lmgtfy.com)

319:デフォルトの名無しさん
12/04/22 10:29:15.46
>>317
XP なら w32tm でいいんじゃないかな
URLリンク(www.microsoft.com)
URLリンク(itpro.nikkeibp.co.jp)


320:デフォルトの名無しさん
12/04/22 11:31:29.12
>>318
NTPサーバから現在時刻を取得する
URLリンク(saekiyoshiyasu.org)
IronPythonでも書いてみる。
(略)
あれれー? 原因を探す(pyがPython、ipyがIronPythonでの挙動)。
(略)
この辺に原因がありそう。IronPythonでは、エポックが西暦1年になっている様だ。
従って、time.ctime()の引数に、西暦1年1月1日0時0分0秒から
西暦1970年1月1日0時0分0秒までの秒数を加えてやれば、Pythonと同じ挙動をするはず。
>>> print time.ctime(t - TIME1970 + time.mktime((1970, 1, 1, 0, 0, 0, 3, 1, 0)))
水 6 13 00:28:26 2007


糞ワロタ


321:デフォルトの名無しさん
12/04/22 11:41:37.65
>>317はPythonの話ではなくてXPの話
AD (Active Directory)に参加している端末なら強制的にADの時計に同期させられる
(Kerberos認証のため)
参加していなければ、Admin権限で
  net time /setsntp:[NTPサーバ]
を実行する

Pythonからやりたければこのコマンドをsubprocess.Popen()で呼び出す

322:デフォルトの名無しさん
12/04/22 12:14:17.62
だれか性能の良い隔離スレ立ててくれ

323:デフォルトの名無しさん
12/04/25 00:55:31.53
そもそも、ここが隔離スレだというのに。

324:デフォルトの名無しさん
12/04/25 09:58:08.20
「自分は頭が良くて詳しいです」的な自己満足レスの典型だぞ。
相手は超初心者なんだからもう少し優しく教えてあげないと。
さもなくばスルーでOK

325:デフォルトの名無しさん
12/04/25 18:51:31.58
hardwayのPracticeをeclipseのPydevでやってるんだけど、
どうやってEclipseで実行したらいいのかわからない

python ex13.py first 2nd 3rd
これをコマンドプロンプトとかで打つと別ファイルの内容が
出力できる問題なんだけどEclipseで確認したいです。
初心者すぎる質問だけど教えてください

URLリンク(learnpythonthehardway.org)

326:デフォルトの名無しさん
12/04/25 19:59:01.28
>>325
実行の構成>引数>プログラムの引数

first
2nd
3rd

327:デフォルトの名無しさん
12/04/25 21:34:15.24
>>326
できました!ありがとう

328:デフォルトの名無しさん
12/04/26 01:18:32.94
ファイルのreadについて質問させてください

file = open("aaa.txt")
file.read() #一度目のreadではファイルの内容が返ってくる
file.read() #二度目のreadでは空が返ってくる

これは二度以上はreadをしないように自分で気をつけるしかないのでしょうか?

329:デフォルトの名無しさん
12/04/26 01:22:55.38
1回closeするクセをつければいいのでは

330:デフォルトの名無しさん
12/04/26 01:23:37.95
>>328
何で空が帰ってくるかわかってる?
URLリンク(www.python.jp)

331:デフォルトの名無しさん
12/04/26 01:30:03.87
たぶん>>328はそれを読んでも分からないんじゃないかな

言語をとわず、一般にファイルから読み込むread()みたいな関数は、
ファイルの現在の位置(カーソルみたいなもんだと思ってくれ)から
データを読み始めて、読んだ分だけカーソルが移動するのがふつうなんだわ

read()は引数を指定しないとファイルの現在の中身全部読み込むので、
その時点でカーソルは終端に移動する
もう一度read()を呼んだら、もう先には何も無いわけだから空が返ってくる

どうしてももう一度読み直したいんなら、seek()でカーソルを先頭まで持っていけば
いいんだが、本当にそれがしたいことなのか考えたほうがいい

332:328
12/04/26 02:38:25.88
ありがとうございます、ファイル読み込みの概念は理解できました
Pythonに限らずどの言語でもファイルを読み込んだ後にcloseしている例が多いので、
なんとなくcloseするのがお行儀のいいやり方だとはわかっていたのですが二度readすると空になるとは思いませんでした

333:328
12/04/26 03:26:00.02
何度もすみません。 実は自分で直接ファイルを扱っているわけではなくて、
MongoDBにファイルを格納できるGridFSという仕組みをPython上で扱える「MongoEngine」というライブラリを使っていまして、
そこで前述した問題にぶち当たりました(URLリンク(readthedocs.org))。

ライブラリのコード見てみると、内部でファイルをreadした後に閉じていない?ようでポインタがEOFに到達したままになっているみたいです。
そこで、あまり行儀のいいやり方ではなさそうですが>>331さんの提案してくださったseek()で解決しました。
本当にありがとうございます。

334:デフォルトの名無しさん
12/04/26 04:01:26.09
先頭に戻すのが目的ならrewind()がいいんじゃない?

335:デフォルトの名無しさん
12/04/26 04:50:08.69
馬鹿には無理

336:デフォルトの名無しさん
12/04/26 05:18:24.59
IDはいらねーかなここ

337:デフォルトの名無しさん
12/04/26 06:43:49.28
もう全板強制IDにして欲しいわ

338:デフォルトの名無しさん
12/04/27 20:48:30.72
馬鹿には無理

339:デフォルトの名無しさん
12/04/28 03:27:31.94
a = 1
print "OK" if a == 1 else print "NG"

これを実行すると
else printのtのところでSyntaxErroeになります。
どこが悪いのでしょうか。

340:デフォルトの名無しさん
12/04/28 04:30:13.32
式のなかに文は置けない。なので条件式の中にprint文は置けない
print "OK" if a == 1 else "NG" なら動く

341:デフォルトの名無しさん
12/04/28 04:54:56.95
>>339

print "OK" if a == 1 else "NG"

が正解。elseの後ろのprintが不要。

("OK" if a == 1 else "NG")

printの後ろに来るのはあくまで一つの値であるのが原則だから、
上のカッコ内全体が単一の値にevaluateされるためには、
printが無いほうが自然とわかると思う。つまり

if a == 1: "OK"
else: "NG"

ここで、elseの後ろにprintがあるとアンバランスということ。
別の言い方をすれば、普通のif-else statementでは、あるblockが
実行されるための条件を評価しているのに対し、ここではprintの目的語を
if-elseによって定めている、って感じかな。

342:デフォルトの名無しさん
12/04/28 06:39:08.47
なるほど、2つの式のどちらかの値を返してもらうだけの
限定されたifなのですね。
ありがとうございました。

343:デフォルトの名無しさん
12/04/28 08:58:35.49
条件式のifの方が優先順位が上なのか

344:デフォルトの名無しさん
12/04/28 09:58:10.80
優先順位がどうのじゃなくて、ifって2種類あるんだよ
ステートメントのifと条件演算子のif

これらは優先順位じゃなく文脈によって定まる

345:デフォルトの名無しさん
12/04/28 10:00:19.52
『カッコをつけなさい』
 - 神の声

346:デフォルトの名無しさん
12/04/28 10:01:21.90
こっちが演算子if
conditional_expression ::= or_test ["if" or_test "else" expression]
expression ::= conditional_expression | lambda_form

こっちが分岐文if
if_stmt ::= "if" expression ":" suite
( "elif" expression ":" suite )*
["else" ":" suite]

347:デフォルトの名無しさん
12/04/28 10:04:02.89
しかし条件演算子ifの導入には一悶着あったらしいね
俺は2.6からしか使ってないからよく知らないけど

348:デフォルトの名無しさん
12/04/28 10:06:01.15
>>345
今回のは結合度や左/右結合の話じゃないのでそれはあてはまんない

349:339
12/04/28 12:35:59.22
以下のように書いたら動いてしまいました。
これは関数名が式として解釈されるために
関数の中に文があっても問題ないということでしょうか?
「別にあんたのために動かしてあげたんじゃないんだからね
関数は式だから仕方ないでしょ」って言ってるみたいで
Python可愛いw

def A():
 print "OK"

def B():
 print "NG"

a = 1
A() if a == 1 else B()

350:デフォルトの名無しさん
12/04/28 13:04:34.00
その通り
3.xだとprint文はprint関数になってるので

print('XXX') if a == 1 else print('yyy')

これも通る

351:デフォルトの名無しさん
12/04/28 14:27:55.70
IDはいらねーかなここ

352:デフォルトの名無しさん
12/04/28 15:22:09.19
>>339
わかってるかもしれないけど一応補足しとくと、339が定義した
AやBという関数は、outputとしてはNoneを返しているってのに注意。
だから

(A() if a == 1 else B())

は全体として値はNoneとなり、標準出力には(関数のoutputではなく)
side effectとして文字列が現れているということ。
このことを明確にするには、

print (A() if a == 1 else B())

としてみればよい。

353:デフォルトの名無しさん
12/04/28 17:52:23.30
『自演禁止』
 - 神の声

354:デフォルトの名無しさん
12/04/28 17:54:22.35
馬鹿には無理

355:デフォルトの名無しさん
12/04/28 21:04:58.28
『馬鹿には無理』
 - 馬鹿の声

356:デフォルトの名無しさん
12/04/29 18:23:46.04
連休で勉強中。
リスト・辞書・セットの要素追加・削除メソッドが
統一されていなくて、やけに覚えづらく感じる。
みなさんは慣れちゃって平気って感じですか?

357:デフォルトの名無しさん
12/04/29 18:49:26.32

統一されるわけなくないか?

358:デフォルトの名無しさん
12/04/29 19:27:54.84
馬鹿には無理

359:299
12/04/29 19:38:51.47
>>355
それはスクリプトです。
Akbの清楚な画像とかと同じ。

360:デフォルトの名無しさん
12/04/29 21:21:39.26
pass

361:デフォルトの名無しさん
12/04/29 21:43:33.64
>>357
追加はadd、削除はremoveに統一できるのでは
ないかと思うのだけど、初心者の浅慮ですかね…

362:デフォルトの名無しさん
12/04/29 21:53:57.43
いまさら変えられない
初心者は黙ってろ

363:デフォルトの名無しさん
12/04/29 21:59:07.31
インターフェイスを統一するラッパークラスでも書けば?

364:デフォルトの名無しさん
12/04/29 22:07:55.61
昭和の頃覚えたアセンブラとC言語
これがあったから
いまだに自分が損な業界で飯を食ってる

365:デフォルトの名無しさん
12/04/29 22:14:50.19
>>361
append()、expand()、add()、update()、それぞれ挙動が違うから、 add に統一は難しいんじゃ?
remove と del

366:365
12/04/29 22:16:00.75
とちゅうで書き込んじった。
remove と del はまとめれそうな気がするけど。

367:デフォルトの名無しさん
12/05/01 13:04:58.36
プログラム書ける人はハンサム

368:デフォルトの名無しさん
12/05/01 14:47:04.95
俺ってハンサムだったんだ
街に繰り出してくるは

369:デフォルトの名無しさん
12/05/01 16:14:12.85
Trie/DoubleArrayなどのデータ構造を実装したライブラリって無いのでしょうか
検索してみるとどうやら必要に応じて自分で実装している人が多いので、標準ライブラリ的なものは無さそうですけど

370:デフォルトの名無しさん
12/05/01 16:14:24.19
>>368
待て、街ではハンサムじゃなくなるぞ!

371:デフォルトの名無しさん
12/05/01 18:51:52.75
>>370
ぶw

372:デフォルトの名無しさん
12/05/01 20:10:56.53
pass

373:デフォルトの名無しさん
12/05/01 20:15:23.10
continue

374:デフォルトの名無しさん
12/05/01 21:06:55.49
>>356
メソッド名は、エディタやIDEのサポートがあると覚えてなくても平気。
リファレンスくらいは準備しておいた方がいいかもしれないけど、
# URLリンク(www.python.jp)
# URLリンク(www.python.jp)

覚えないといけないのは、del やリストのスライスを使ったイデオム
blist = alist[:] や del alist[:]、alist[:] = [] (コピーと消去)

この辺りは、確かに統一出来る部分もあって、実際 list.copy() や list.clear() は 3.3 で追加されます。
copyはcopyモジュールがあるけど、現行のリストにはclearメソッドがない。(dequeにはclear()がある)

>>366
削除も del alist[n] は n 番目の要素を削除、alist.remove(n) は最初に見つかったnという値の要素を削除
といった挙動の違いがあるので、これも統一のは難しそう。(追加と同様、何処を削除する?何を削除する?といった指定の仕方が複数ある)

375:デフォルトの名無しさん
12/05/03 03:13:59.60
python2.7をwindows7 64bitで勉強中です。
テキストファイルやCSVファイルの読み書きを学んでいるところなのですが
文字コードでたびたび詰まります(特にCSVファイルへの書き込み)。

python3.2で勉強すればこの問題には直面しないのでしょうか?
であればもうpython3.2で勉強してみようかとも思っているのですが・・・

376:デフォルトの名無しさん
12/05/03 08:14:48.49
どんな問題がでるのか書かないとわからん
たまにエスパーいるけど

377:デフォルトの名無しさん
12/05/03 11:52:08.84
すみません

UnicodeEncodeError: 'ascii' codec can't encode character u'\uff12' in position 0: ordinal not in range(128)

みたいなエラーが出ることです。

378:デフォルトの名無しさん
12/05/03 11:54:19.50
ちなみにそのエラーの意味は分かりますか?

379:デフォルトの名無しさん
12/05/03 12:05:49.03
もう解決してるじゃん
勉強中って言うくらいならエラーログくらいちゃんと読むクセつけましょう

380:デフォルトの名無しさん
12/05/03 12:24:04.20
たとえば

import codecs, csv

u = u'2ちゃん'
with codecs.open('2ch.csv', 'wb', 'utf8', 'ignore') as f:
writer = csv.writer(f)
writer.writerow(u)

というスクリプトを実行すると同様のエラーが出るので
python2.7のドキュメント読んでみたら
「csvモジュールはUnicodeの読み書きをサポートしてません」
と書かれていました。

それでも何とかエラーを回避しようと色々調べてはみたのですが
自分の知識不足で「こうすればエラーが出ない」という方法を自分のスクリプトに転用できません。

それならもうpython3の勉強した方がいいのかな?と思い>>375の質問に至りました。

381:デフォルトの名無しさん
12/05/03 12:29:35.23
import codecs, csv

u = u'2ちゃん'
with open('2ch.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerow(u)

試す気ないけどこれはOKじゃありません?

382:381
12/05/03 12:30:14.37
間違えた
writer.writerow(u)

writer.writerow(u.encode('utf_8'))

383:デフォルトの名無しさん
12/05/03 13:00:02.36
>>381
レスありがとうございます。

エラーは出ませんでしたが
・シ,・・・。,・・・・・・
と書き込まれてしまいました・・・

384:デフォルトの名無しさん
12/05/03 13:35:03.44
>>383
URLリンク(docs.python.org)
> A row must be a sequence of strings or numbers

というわけで writer.writerow([u"2ちゃん".encode('utf-8')])

385:デフォルトの名無しさん
12/05/03 13:36:49.60
2.7勉強したって3.2へ移行しないと行けないのに
よくやるよ

386:デフォルトの名無しさん
12/05/03 13:39:00.29
python csv unicode
のキーワードでググって一番上に出てくる個人サイトで
解決策が出ている。
結論としては、csvモジュールに難あり。
他人の作ったモジュールに中途半端に頼ると
不幸になるという見本だね。
できる限り自前で作ることが、最終的に幸せになる鍵。

387:デフォルトの名無しさん
12/05/03 14:31:29.63
>>383
# -*- coding: utf-8 -*-
import csv, codecs
print u'2ちゃん utf8'
s = u'2ちゃん utf8,3 chan utf8'
L = [u'2ちゃん utf8' ,'3 chan utf8']
with open('b.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerow([s.encode('utf8')])
uL = [None] * len(L)
for i, x in enumerate(L):
print x
uL[i] = x.encode('utf8')
with open('uL.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerow(uL)
with codecs.open('u8.csv', mode='wb', encoding='utf_8') as f8:
writer8 = csv.writer(f8)
writer8.writerow(uL)

388:デフォルトの名無しさん
12/05/03 17:35:23.42
文字コードで悩むくらいなら素直に3使ったほうがいいよ
標準モジュールでさえstr/unicodeの暗黙の変換でハマることはあるし

389:デフォルトの名無しさん
12/05/03 18:16:20.69
>>384
ありがとうございます。できました。
文字列ってsequenceだと思ってましたけど自分の理解にまずいところがあったようです
改めて読み込んでみます。

>>386
ありがとうございます。肝に銘じます。

>>387
ありがとうございます。
最後のだけエラーが出ますがcodecs使わない方が良いということなんでしょうか・・・

>>388
ありがとうございます。Django使いたいので2でと思っていたんですが、
今回のようにDjango関係ないところでは3を使うようにします。

390:デフォルトの名無しさん
12/05/03 18:56:05.61
>>389
いや文字列ははシーケンス(の一種)であってるよ。forに添えたりスライスできる
ただwriterow()は文字列のシーケンスか数値のシーケンスを期待しているので
writerow("abc")ではなくwriterow(["abc"])としなきゃいけない

>>383はUTF-8バイト文字列 "2ちゃん" が1バイトずつデリミタ , で区切られてる

391:デフォルトの名無しさん
12/05/03 19:13:16.72
>>388
文字コードへの配慮が抜け落ちていているライブラリが混入してるのは
Python3もいっしょなわけで、あんまり夢は見ないほうがいいかと。

392:デフォルトの名無しさん
12/05/03 19:13:38.09
>>389
いや、分からんけど、codecs使わなくていいなら使わなくていいんじゃない?
試してみたところ、問題はcodecs側に有りそうな気がして>>387書いた。
csv moduleが悪いわけじゃないと思うんだ。
周りの無知・無理解で悪くない奴が責められるのが嫌なんだー。
嫌でしょう?おかしいでしょう?

>>388が言うように、3系使うのをお勧めする。
programmingの本質でない所でハマって往生するのは嫌でしょ?

393:デフォルトの名無しさん
12/05/03 19:17:54.93
またDjangoかよ
足引っ張ってるなDjango

394:デフォルトの名無しさん
12/05/03 19:25:30.00
>>391
CJKへの配慮が足りない程度ならライブラリをfixすりゃいいし
全部unicodeにして渡してるのに訳分からんタイミングでstrに戻されるよりマシ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch