>>1 乙です
前スレの
>>998 です。
PythonのTkinterで、メインウィンドウとサブウインドウが立ち上がっているとき、
このサブウインドウが、
1.必ずメインウィンドウの前面に出る設定
2.サブウィンドウを閉じないとメインウィンドウの操作が出来ない設定
が分かりません。どなたか、親切な方、教えてはいただけないでしょうか?
.wm_attributes("-topmost", 1) .grab_set()
5 :
3 :2012/03/21(水) 19:26:25.89
>>4 教えてくださって、本当にありがとう。上手くいきました。
今まで自分は教えてクンにだけはなるまいと思っていたけど、
これだけ迅速に貴重な情報が手に入ると思うと、つい負けてしまいそうです。
教えて下さった方に直接金銭等のお礼は出来ませんが、そのかわりに
Pythonについて私が分かることは出来るだけ、同じように困っている人に
情報提供していくつもりです。本当にありがとうございます。
本を読む習慣が無いひとには おおまかに次の3つのタイプがあります 1.目が悪いひと 2.頭が悪いひと 3.文盲(識字出来ない) 頭が悪いひとより文盲の方が深刻です 普通は漢字が読めないレベルとかを想像しますが アルファベットですら読めないひとが日本には多くいます
8 :
デフォルトの名無しさん :2012/03/22(木) 09:28:14.93
インプリンタ上に書きこまれる文字列に対しif文を書くにはどうすればいいでしょうか。 a = 1と定義してからaについてif文を書くのではなく、書き込まれる文字列をaとおくという感じで... ややこしくてすみません。
日本語でどうぞ
文章を書く習慣が無いひとには おおまかに次の3つのタイプがあります 1.自分の考えを整理して他人に伝えられないひと 2.頭が悪いひと 3.文盲 頭が悪いひとより文盲の方が深刻です 普通は漢字が書けないレベルとかを想像しますが アルファベットですら書けないひとが日本には多くいます
馬鹿には無理
プログラムを書く習慣のない人についてもよろしく
プログラムを書く習慣のない人には、 おおまかに次の3つのタイプがあります。 1.顔が悪い(女の子にもてません。) 2.頭が悪い(常に自分が正しいと思って行動しています。) 3.他人が悪い(なんでもすぐひとのせいにして自分を省みません。)
14 :
デフォルトの名無しさん :2012/03/22(木) 17:44:13.36
インタプリタにaと書き込めば1と表示され、 それ以外の文字を打ち込むと2と表示されるスクリプトはどう書けばいいでしょうか?
# 2.x print raw_input() == 'a' and 1 or 2 # 3.x print(input() == 'a' and 1 or 2)
16 :
デフォルトの名無しさん :2012/03/22(木) 18:56:18.14
>>15 ありがとうございます。
if文とかfor文とか使うのかなと思っていたのですが、完全に盲点でした。
いや、それネタだから…… 読みやすさを心がけてください
18 :
デフォルトの名無しさん :2012/03/22(木) 20:38:51.63
>>17 そうなんですか...
2.xで、ネタじゃないのも書いてもらえるとうれしいです。
print 1 if raw_input() == 'a' else 2 じゃあかんの?
20 :
デフォルトの名無しさん :2012/03/22(木) 20:54:53.50
windows7 64bit Ultimate pythonのverは3.2と2.7のそれぞれ64bit 使ってるけど、pythonがインストールしても使えない GUIはランタイムエラーとか言われるし コマンドラインのは勝手に落ちる CG関係のソフトもpythonがいじれないせいかプラグインとかが使えない ソフト自体の再インストール、pythonのインストール Visual C++もいろいろぶっこんだけど変わらない そもそもこの手のソフトって普通に何もしないでインスコするだけで使えるはずだからコレハゼッタイニオカシイ…もう疲れた
質問だったら具体的に 愚痴だったらチラ裏でどうぞ
23 :
デフォルトの名無しさん :2012/03/23(金) 05:52:05.93
どうしても分からないので質問します。 x=raw_input() if x == 1: print "one" else:print "others” というスクリプトを実行し、何らかの数字を入力した時、 そのあと終了させず、続けて他の数字を入力するにはどうすればいいでしょうか。 教えてください。
x=raw_input() print "others” input()
while True: x = raw_input("enter a number: ") if x == "": # 単にEnterが押されたらループを抜ける break elif x == "1": print "one" else: print "other"
インデント忘れた。ごめん Encode/DecodeErrorとか言われたらコメント(# 単にEnterが...の部分)削ってね while True: x = raw_input("enter a number: ") if x == "": # 単にEnterが押されたらループを抜ける break elif x == "1": print "one" else: print "other"
27 :
デフォルトの名無しさん :2012/03/23(金) 06:26:22.42
>>24 すいません。
書き忘れてました。
続けて入力する文字を、ふたたび同じif文にかける方向でお願いします。
28 :
デフォルトの名無しさん :2012/03/23(金) 06:30:50.62
馬鹿には無理
馬鹿にさせるな
1、perlのstrictのようなモジュールないですか? for,while,if内で変数をlocal運用したいです。 2、変数が組み込み関数、予約語とかぶらないようにしたい 怖くて安易に変数名がつけられない
>>31 沢山の関数に分ければいいと思うよ
スコープ広めの変数があるなら、クラスも使うべし
更にモジュール化を進めればかなり気にならなくなるはず
33 :
デフォルトの名無しさん :2012/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つともループさせるにはどうすればいいでしょうか?
35 :
デフォルトの名無しさん :2012/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 :
デフォルトの名無しさん :2012/03/24(土) 00:39:32.27
オフサイドルールはつらいね
どっかに 行頭の連続したスペースやタブ文字を、対応する数の に変換する ってPythonコードなかったっけ
>>36 インデントの半角空白を で置換するか
半角空白2つあたり全角空白1つで置換して
codepad.orgなんかが使えるならそこに貼ってもいい
今ある数百のhtmlで書かれたページに、コメントフォームを作りたい ページのファイル名(アドレス)は変えたくない これを実現するのに、pythonはあまり向きませんか? 手っ取り早いのは.pyファイルに書き換えて、html部をprintで出力する方法でしょうか? なんかコメントフォームのためにhtml全体をprintを使って書くってあんまりよろしくない感じがするんですが (ハードコーディング?)pythonの記述にhtmlを載せるんじゃなくて、html上でpythonを埋め込める方法はないのでしょうか? それともphp等を使わないと無理でしょうか?
41 :
デフォルトの名無しさん :2012/03/24(土) 00:57:48.16
マルチスレッドにするという話?
外れててもその発想は凄い
>>40 テンプレートエンジン Pythonでぐぐってみて
46 :
デフォルトの名無しさん :2012/03/24(土) 02:42:17.90
>>42 そうだと思うのですが、どう書いたらいいのか分かりません
>>43 二つのループを同時に走らせたいのです。説明不足ですいません。
まさかのマルチスレッドw
>>39 使ってる2chビューワで
PC系の板だけdat内のスペースのまま表示・コピーできるようにした方が何かと楽。
>>45 ありがとうございます
Django等見つかりましたが
pythonが使えるってだけの共用サーバーだと、やはり厳しいようです
単純なhtmlとpythonだけじゃ無理っぽいですか?
>>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"
>>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>
痛々しい
54 :
デフォルトの名無しさん :2012/03/24(土) 08:51:46.05
unittestの書き方についてなんだけど、 例えば hoge/main.py hoge/module/__init__.py hoge/test/testmain.py みたいなディレクトリ構造で、 main.pyにimport moduleが記述されてるとして、 python main.pyで実行したときはうまくいくけど python test/testmain.pyのときはmoduleが見つからない これってどうやって解消するの?
sys.path.append(os.path.realpath("..")) import module
>>56 質問者55ではありませんが,同じ疑問を持っていたいので
助かりました。
関連質問ですが,自作のモジュールを
/Volumes/vol_1/WebServer/CGI-Executables/01pythonMod01/
の下においている場合には,どのようにパスを指定すれば
よろしいのでしょうか?
59 :
デフォルトの名無しさん :2012/03/26(月) 12:03:18.88
if文でよく%が使われたコードを見るのですがどういう意味なのでしょうか? 下のコードにおいて説明していただきたいです。変換指示子かなと思ったりしたのですが... for num in range(100): if num % 10: continue print num
剰余
どの言語でも基本的な演算子
いくら「超初心者用」でもこれはありなのか
>>59 Pythonにおいて
・数値に対する % は左辺の数値を右辺の数値で割り算したときの「余り」を返す
・ゼロ以外の数値は真(条件式としては成り立っているとみなす)であり、ゼロは偽(条件式としては成り立たないとみなす)である
よって、if の条件式として数値 % 数値という式を書いた場合
「左辺を右辺で割ったときの余りがゼロ以外」=「左辺を右辺で割ったら余りが出る(割り切れない)」
という意味になる
共通一次の数IIBの問題に毎年必ず出てくるパターン
そんなんで人のコード見てなんか役に立つのかな ああ、コピペできるコード探してるだけだからそんな事はどうでもいいのか
66 :
3 :2012/03/27(火) 19:35:10.13
例えば、Command という関数があるとき 文字列str = "Command" を上手く変換して、strを使ってCommandを実行する方法はありますか? 同様にLIST = [1, a, x] があるとき、 文字列str = "LIST" を上手く変換してstrを使ってこのリストオブジェクトそのものを指定する ことは出来ますか?つまり、 str[2] = aみたいなことがしたいのですが・・・
>>> a = "['a', 1, 2]" >>> a "['a', 1, 2]" >>> b = eval(a) >>> print b ['a', 1, 2] >>> print b[1] 1
あんま馬鹿なことはしねえほうがいいよ
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 てな感じで画像の四隅を指定して変形させたいんだけど コマンドの描き方が分からない・・・。
>>70 PythonMagick-0.9.7のソースをGrepしてみたけど
バインディングされてないみたいよ
馬鹿には無理
>>70 コマンドでやれ。パイプを使えばファイルを作らなくてもいい
__init__.pyは空にしておくのが一般的?
パッケージの初期化はそこに書くんだからそんな事ないよ
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秒後に動作させられますか?
あ、上のコードにミスがありました。 ×def fnc() ○def fnc():
Timer(3, lambda: fnc(5))
>>79 そのやり方で上手くいきました!!
ありがとうございます!!
…それにしても、このスレマジで使えるな。
分からないことはたいがい教えてもらえる。
逆に言えばそれだけ、俺の能力が低いってことだがorz...
馬鹿には無理
なんでfncで良くてfnc(5)が駄目なのか、理由を理解しないと根本的な解決になってないよ。
コピペしかできないならVBでもやってろ
コードと文字列の区別が付いていないから
釣れますか?
爆釣です
s=abc s="cd ef" という一行から、 abc "cd ef" の二つを抜き出すにはどうしたら良いでしょうか?
>>77 import threading
def fnc(args)
print("Hello")
print("args =", args)
timer = threading.Timer(3, fnc, args=5)
timer.start()
args=5じゃ動かないよ
○ timer = threading.Timer(3, fnc, args=[5])
馬鹿には無理
有難うございます
>>71 なんという・・・orz
>>73 その手があったか・・・
>>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"']
こんにちは、初めてここに質問させていただきます。
http://d.hatena.ne.jp/dix3/20100513/1273760327 ↑youtube-dllというpythonのスクリプトを使ってようつべをDLするスクリプトが
あるのですが、上のURLを参考に試してもFile "<stdin>", line 1と表示された後
エラーでSyntaxError: invalid syntaxと返ってきます。
pythonは2.7.2、実行はPython (command line)というexeから実行しています。
なお、OSはwin7で64bitです。
もしご存じの方がいらっしゃいましたら宜しくお願いします。
都合の悪い箇所があれば伏せたうえでコマンドラインとエラー表示をそのまま貼ってみて SyntaxError: invalid syntax 以外にも表示されてるだろうから
Pythonの対話モードじゃなくてWin7のコマンドプロンプトから実行しないと
>>99 ありがとうございます。
ググってもう少し調べてみます。
python 2.6.2で一生懸命勉強したりして何とかプログラム組んだ事あるけど 今は3が主流なの? どうなんだろ…。もうpython 3をこれからは勉強した方がいいのかな…
Python 2.7.1ですが、正規表現で鬼車やPCREのような再帰のパターン検索をしたいと思うのですが ライブラリ等で対応は出来ているものはあるでしょうか?。 ((ab)(cd)ef(gh(ij))) のようなもので()内を取り出したいんです。
読みましたけど、そのことを実現してくれる記述はどこにありますか?
わたしにはわかりませんでした。ご存知なら教えて下さい。
>>103 さんへ。
不愉快だから教えない
読んでる暇があったら実行してみた方が早いんじゃないかと思うよな わざとドキュメント読んだか?って言ったんだろうけど
そりゃ幾らなんでも穿った見方過ぎだろw
>>> import re >>> re.match(r'((ab)(cd)ef(gh(ij)))', 'abcdefghij').groups() どこのスレも春爛漫って感じ ついでに名前欄も
馬鹿には無理
無理って言う奴が馬鹿
馬鹿は死ね
>>102 どこに再帰があるんだ?
オレオレ用語はやめろ
再帰した正規表現を使いたいのかも Ruby 1.9(鬼車)の\g とかPerlの(?PARNO)や(?R)が使えるのか って話なのでは?
一般的にはグループ化のネストとか入れ子とか言いますね
上手くいかないんだけど。
$ bison youtube-dl
http://www.youtube.com/watch?v= ○○
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
>>115 また斜め上に行ったな
というかbisonインスコされているのか…
>>113 そいうことですが、なぜ、こんなにたたかれるか不明です。
recursiveな正規表現パターンという言葉がオレオレだとは思わなかったです。まあわたしが悪いんでしょう。
でも、
>>108 の脳みそはどうなってるんですかね。信じられませんw
馬鹿には無理
pythonのおまんこ要員とは何ですか?
pass
bytesの値をそのまま出力するにはどうしたらいいのでしょうか? print('{:s}'.format(data)) として、出力をbytesの生のままで出したいのですが、 print(data) とした時の値がaaa.dataに出力されてしまいます。 python3 test.py > aaa.data
sys.stdout.write(data) では駄目ですが、 with open('a.data', 'wb') as f: f.write(data) とすれば書込み自体はできると分かっていますが、 後々、|で連結して色々変態的なことをしたいのです。
python docを読んでいたら、 sys.stdout.buffer.write(b'abc') と思いっきり書いてありました。 スレ汚し失礼しました。
窓口に問い合わせるが吉
.split('/')[-1]の間違いじゃないかなあ 他にもauthsub_token = parameters[[]'token' ] とかあるので どこかでゴミが入っちゃったんだと思う
print u"あいうえお".find(u"う") で0が帰ってくるんですが、何がいけないんですか?
と思ったらPyScripterで保存すると日本語化けちゃうのか・・・ どうしたら日本語の文字コード保持したまま実行できるんでしょうか
自己解決しました ファイルの頭に# -*- coding: utf-8 -*-つけたらできました
C:\youtube-dl>youtube-dl.py
http://www.youtube.com/watch?v=uEQkVJtyVTc [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
エラーになります><
プログラミングではなく単なるツールの使いかたの質問ならDL板のほうがいいんじゃないか もしあっちで相談するなら youtube-dl -v <URL> のほうが話が早いかも
rtmpdump のスレ行った方が医院で内科医
py2exeでスタンドアローンのウィンドウズアプリもどきが作れたのですが、 バックのコマンドライン用のDOS窓が立ち上がってしまいます。 せっかく拡張子をpywとしているのですが、exeの方はそうなってしまいます。 どうしたらpy2exeで作ったウィンドウズプログラムでDOS窓が立ち上がらない ように出来ますか?宜しくお願いします。
135 :
133 :2012/04/03(火) 17:26:51.26
>>134 ありがとうございました。そのやり方で解決しましたm(_ _)m
open関数でファイルを開いて、writeメソッドでファイルに日本語混じり文字列を書きこみたいのですが、 そのままやると文字コードがShift-JISになります UTF-8にしたいのですがどうすればよいでしょうか? Python 3でOSはWindows 7(日本語版)です
fout = open('foo.txt', 'w', encoding='utf-8')
>>136 Dive Into Python 3 くらい読めば?
139 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/06(金) 23:54:01.57
# -*- coding: utf-8 -*- x = raw_input() if x == u"こんにちは": print u"こんにちは" これを実行しこんにちはって打ち込むとUnicodeWarningと出るのですが、どうすればこんにちはと出るでしょうか。
>>139 print type(x), type(u"こんにちは"), type("こんにちは")
したらわかるけど、
if x.decode("utf-8") == u"こんにちは": #端末がUTF-8な前提
か
if x == "こんにちは":
にしないと比較できない。
141 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/07(土) 02:39:29.61
>>140 if x.decode("utf-8") == u"こんにちは":
と
if x == "こんにちは":
の両方で試してみましたが、UnicodeDecodeError、UnicodeWarningがそれぞれ出ますorz
PythonのバージョンとOSも書かずに、文字コード周りの質問するなんていい度胸してんね
143 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/07(土) 03:43:05.13
>>142 すいません。
windows vista 32bitでpython2.7です。
Windows使ってないからわからないけど、raw_inputで受け取るときの文字コードって使ってるシェル(コマンドプロンプト等)の文字コード依存するんじゃないか? シェルの文字コードがshift_jisだとすると、utf8じゃunicodeにデコードできないし、coding: utf8を宣言してるからstrとの比較でも警告がでる、とか。
>シェルの文字コードが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"こんにちは": でも動きません(キリッ)とか さらなる突っ込みに発展する話題
Pythonスレでは煽りを入れることなく簡潔に淡々とお願いしますね
setdefaultencodingの話題はタブー
>>140 に
if x.decode("utf-8") == u"こんにちは": #端末がUTF-8な前提
#端末がUTF-8な前提
ってちゃんと書いてあるのに
無視した
>>141 が悪い
コメントを読んでないか
知識がなくて意味が判ってない
と判断されても仕方ない
馬鹿には無理
UserIntelligenceError: You are too fool to use Python
>python インストールした後に sitecustomize.py とか自分でまじめに編集してるひといるの? 俺はやってない 機種依存とか環境依存のコード書きたくないからね
俺もやってない 入力されたところでdecodeすればいいから だがargparseがstr返してきて泣いた Python3よこんにちは
>>149 sitecustomize.pyなんてあるのか
知らんかったorz
freezeするときはsys.setdefaultencodingとlocale.setlocaleくらいしてもいいだろうけど
157 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/07(土) 15:14:55.79
Python-list を購読しているのですが、 一通のメールに複数のメールが含まれています。 一通一通受信するにはどうしたらよいでしょうか?
159 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/07(土) 18:06:01.99
煽り多すぎわろた
160 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/07(土) 21:43:20.68
’alice=%d'%18の意味がよく分かりません。 alice=%dが十進数でありそれを18で割った時の余りを求めていると考えているのですが、 実行結果はalice=18になるので私の考えは間違っていると思います。
>>160 文字列に対する % は文字列フォーマット操作。
左辺が書式指定、右辺がその書式中に埋め込む値になる。
162 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/07(土) 21:54:02.04
163 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/08(日) 11:10:42.73
Macのドリンクは氷が多すぎる
知らないencodingの文字列が入ってくる事自体がおかしい crawlerとかで本当に不定なら三番目みたいにchardet使うべき お前の頭がバッドなだけ どこでどう変換されるかわからないなら素直にpython3使え
>>163 氷抜きにしてもカサが減らない良心的なとこなのに。。。
使ってみればわかるけど、chardetは物凄く遅いよ
速い必要ないだろ… 一体どんなコード書く気だ
169 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/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" と出ます。 どうすればいいでしょうか?
>>169 def authentication()のブロックはどこまで?インデント壊れててわからない
172 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/08(日) 19:49:32.38
>>171 auth.set_access_token(access_key, access_secret) までです。
>>172 それだと api = tweepy.API(auth_handler=auth) のとこでエラー出ない?
それか別の場所で auth ってグローバル変数を使ってそうだな。
>>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)
としてみるとか
あるいは無理に関数にしないで 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審議中@詳細は自治スレへ :2012/04/08(日) 21:14:23.72
pythonってpythonが入ってないマシンで動かす方法はありますか? バイナリにする以外で
178 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/08(日) 21:33:12.83
>>175 このやり方でOAuth認証は通せました。
ありがとうございます。
しかし、あとのtweetする部分でエラーが出ます。
api.update_status("test")と単純にしてもダメでした。
tweepy.error.TweepError:Invalid/expired Tokenとでます。
179 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/08(日) 21:35:30.36
>>177 バイナリいが・・・いえ、ありがとうございます。
バイナリ以外なら鯖で動かすしかないよな
>>178 そのエラーにはトークンが間違ってるか期限切れって書いてある
consumer_key/secret, access_key/secret(のいずれか)に問題があるんだろうけど
これ以上のことはわからない
182 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/08(日) 22:55:45.56
>>181 Oと0を見間違えてましたorz
ありがとうございます。
183 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/09(月) 18:02:32.78
BeautifulSoupってwindowsにインストール出来ない感じですか?
出来る感じ
185 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/09(月) 18:47:41.66
>>184 tar.gzファイルしか見当たらないのですが...
そうすればいいでしょうか?
展開してpython setup.py install
187 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/09(月) 22:11:07.92
>>186 インストールしたあと、import beautifulsoupするとimport error出るんですが...
import BeautifulSoup
189 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/09(月) 22:26:50.60
じゃあ、インストールできてないんだろう
191 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/09(月) 22:35:23.51
unsigned charな値をビット反転させたいです(116が139になって欲しい)。 pythonのビット反転は桁数制限が無いから+1して符号反転させる、 とリファレンスにありますが、なにかその辺便利なライブラリとか ありませんでしょうか?
192 :
191 :2012/04/09(月) 22:36:12.91
256で引けばいいだけじゃねぇかスミマセン自己解決しました。
193 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/09(月) 22:37:57.44
>>190 4.0.3で無理だったので、3.2.1でやるとインストール出来たのでこれでいきますorz
194 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/09(月) 22:40:19.89
ubuntuだと4.0.3動いてるぞ
BeautifulSoup4はPython 2.7以上を要求って公式に書いてあるじゃん…
196 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/09(月) 23:00:21.94
import bs4
197 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/10(火) 01:16:07.73
日本語チュートリアルを見ていたら、 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に係るのではないのですか?
初耳 しかしインデントがある
自分で使ったこともないし、使ってるのもあんまり見たことない。 まぁ俺が見ないだけかも知れないが。 ただtry...except...else...finallyのelseは使ってるの見たな。 無事tryを抜けた場合を扱えるのはなかなかいいと思う。
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
その最後の i を使うため (だけ) に else 節があるわけじゃないでしょ。 break でループを脱出した時には実行されないから、そういう用途でしょ。 else って名前はどうよとは思うけど。
>>198 をelseつかわずにフラグ使って書いてどっちがいいか比べるといいかも
for else は番兵的に使ったことならある
Pythonプログラムで2chのレスを読み込んだり、書き込んだり出来る プログラムを組みたいのですが、どうすればよいのでしょうか? また、詳しく紹介しているサイトはありますか? 宜しくお願いしますm(_ _)m (※勿論、荒らし等が目的ではありません。)
206 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/10(火) 20:26:00.43
208 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/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
http://python-distribute.org/distribute_setup.py $ 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
簡単な英語ぐらい努力して読め
210 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/11(水) 12:54:40.17
>>208 です。
サポートから連絡が来ました。
やはりパーミッションの変更が原因だったようです。
本の通りにインストール出来ないって事になるんで他のインストール方法を探さないといけないですね。
Plesk無しのVPSへ変更を検討してみます。
ちなみに
>>210 は私ではありません。
翻訳すると: ユーティリティ packagemngを実行できません。 セマフォファイル/usr/local/psa/var/utilities.semを開くのに失敗しました: 権限がありません。 システムのエラー13: 権限がありません。
エラーメッセージ読めん奴にVPS弄る資格があるのか
英語厨ってどこにでも出現するよなw
>>208 $ sudo chmod -R 0775 /usr/local
$ sudo chgrp -R bpbook /usr/local
はその本に書いてあったことなの?
-Rは再帰のRだからずいぶん大胆に思えるけど
こいつは日本語で書いてあっても理解できないだろw
>>208 です。
エラーの意味は大雑把にわかってました。
「権限が無いから /usr/local/…を使えないよ」
訳が知りたかったのではなくて、
本当に該当コマンドが原因だったのかという事と、そのコマンドは省略してもいいのかという事が知りたかったのです。
「訳はわかってます」と書くと生意気な気がしたので黙っていようと思ったのですが、スレッドが英語ネタにそれてしまいそうなのでコメントさせていただきました。
ほらなw
おれは
>>217 じゃないが
その本は読んでないし読もうとも思わない
それにもし本当に前後の断り書きなくそう書いてあった
今すぐ捨てろ
他のVPSに乗り換えても遅かれ早かれ同じような結果になることを保証する
221 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/11(水) 15:46:48.04
間違った操作をすべて帳消しにしてくれる素敵なコマンド $ sudo rm -Rf /
はいはい ステマステマ
223 :
208 :2012/04/11(水) 17:24:25.66
>>219 本のまんまを書いてます。
ただ、本ではVirtualboxに入れたUbuntuという設定です。
pythonとかはくわしくても*nixのシステム管理にはド素人の人が書いたんだろうね。
野球のルール知らないけどセリーグ得点王ぐらいありえない話じゃないかそれ
翻訳本かと思ったらまた日本人が書いたやつか…
>>225 そうなんかな。
純粋に仕事はアプリ開発が担当で、普段はWin使いで、*nixは他のシステム管理担当者が用意した環境で
使ったことしかなくて、*nixはズブのド素人だけど執筆する上でLinux環境用意しないといけないんでUbuntu
つかってやってみてます、みたいな。
ググるとpythonに関する内容は素人レベルでひどいってわけでもなさそうじゃんその本は。
ていうか、そもそも
>>208 が既存のpythonのパッケージをインストールしたいからっていうんなら、distribute
使わなくてもCentOSのリポジトリにあればそれをyumで入れればいいんじゃないの?
CentOSもpypiも使ってないんでよくしらんけどだいたいあるでしょ。バージョン超古そうだけど。
マシン語やアセンブリに対して、高級言語ってのはFORTRANの時代からずっと プラットフォームについての知識が最低限でも組める、という方向を目指して進化してきてるからね Pythonのことはしっかり知ってるのにシステムのことは素人、てのは別に不思議なことでもない
目次 1 Pythonで開発しよう(Pythonをはじめよう Webアプリケーションを作る) 2 チーム開発のサイクル(チームの開発環境を整える ドキュメントの基盤を整える 課題管理とレビュー モジュール分割設計と単体テスト パッケージングと環境セットアップの自動化 Mercurialによるソースコード管理 Jenkinsで継続的インテグレーション) 3 サービス公開(環境構築とデプロイの自動化 アプリケーションのパフォーマンス改善 Google App Engine) 4 開発を加速するテクニック(テストを味方にする Djangoを便利に使う 便利なPythonモジュールを使おう) Appendix(VirtualBoxのセットアップ OS(Ubuntu)のセットアップ) まあ, この内容ならシステム管理の素人が書いてもまったく問題はなさそうだな.
230 :
デフォルトの名無しさん :2012/04/13(金) 20:07:56.19
Pythonスタートブックが良書なのは知ってるんですが、この本以外に分かり易い本ってありますか?
はいはい ステマステマ
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を使っています。
apt-get install python-tk
>>233 >>234 python-tkを入れて /usr/local/lib/python2.7/lib-tk/Tkinter.py
があることは確認したのですが同じ結果になりました
>>232 PythonのバージョンがDebianにしては新しいようだけどどうやってインストールしたの?
>>241 PythonをビルドするときにTcl/Tkやらのヘッダがなければ
Tkinter使えるようにならないよ
後からpython-tkを入れても手遅れ
迷惑メールを送り続ける業者に対して,Pythonスクリプト+ hotmailで「迷惑メール送信をやめて下さい」という内容の メールを,1時間で1000通出したいのですが,参考になる サイトはございますか?
>>243 あなたがアク禁になる手引きをするつもりはないのでお帰りください
意味ないどころか、mailer-daemon failureが1000通返ってくるんじゃねーの?w
問題は迷惑メールを送り続ける業者のメールアドレスをどうやって入手するかだな
>>236 =239=241 ??
apt-get で普通に入れて /usr/local に入るわけないし、python を自分でソースからビルドした
ってのがパッケージ管理の管理外でやったならすべて自己責任の世界。
半分スレチだし、質問するとしても自分がやったことすべて列挙してそれのどこに間違いがあっ
たのかを聞くのが正しい聞き方。
ごめん
250 :
デフォルトの名無しさん :2012/04/15(日) 19:43:18.41
if "a" in ["a", "b", "c"] == True: print "True" else: print "False" これの実行結果をTrueとして出したいのですが、Falseとして出ます。 どうしたらTrueと出るでしょうか?
if ('a' in ['a', 'b', 'c']) == True
252 :
208 :2012/04/15(日) 20:05:39.26
何でこんなになるんだろうね(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
>>> "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
これ、優先順位というか比較の連鎖か。 比較の連鎖ってのは x < y < z みたいな書き方のことね。 だから "a" in abc == True は "a" in abc and abc == True とほぼ同じ。(正確には上だとabcが一回しか評価されない) abc == True は偽だがらFalseが返る。
inでも有効なのか。知らんかったわ
>>> [] 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
>>> [] in [[]] and [] == [] True
>>259 pythonドキュメントにまるっきり同じことが書いてあるわけだが。
>>263 へーpythonドキュメントにまるっきり同じことが書いてあるのか。勉強になった。
ドキュメント厨か
DQM
pass
>>269 おい!なんで俺のパスワード知ってんだよ
271 :
デフォルトの名無しさん :2012/04/16(月) 13:35:30.05
>> 208 $ sudo chmod -R 0775 /usr/local $ sudo chgrp -R bpbook /usr/local これやらなくていいです。こんなことしなくてもsudoしてるので、distributeのインストールに問題ありません。
>>271 そもそも
>>208 みたいに手動でdistributeを入れなければいけないのかどうかを先に論じるべき。
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
くだらんけど chgrpするならchmodでグループのスティッキービットたててほしい。
$ sudo rm -Rf /
はいはい ステマステマ
本も質問者もひどいもんだな。
pass
Pythonチュートリアル第2版の10.12節に「電池付属です」と銘打った説があって、「Pythonには『電池付属』の哲学がある。」と書いてあるのですが、これってどういう意味なんでしょうか? 「電池付属」って、英語特有の慣用表現みたいなもの?
おもちゃのCMとかで最後に必ず「Each sold separately, batteries not included.」 みたいな注意書きがはいる(たいてい1秒程度でしゃべる)。そのもじり。
284 :
281 :2012/04/19(木) 12:31:15.81
勉強になりました。thxです。
核電池
286 :
デフォルトの名無しさん :2012/04/19(木) 20:03:53.82
電池付属もいいんだが、Python付属のは液漏れしてる
287 :
デフォルトの名無しさん :2012/04/19(木) 21:26:21.55
電池で思い出したけど、電池で動くような小型の端末で、ちまちまPythonのコードを書いたり動かしたりできるもんって無いのかなあ???
290 :
デフォルトの名無しさん :2012/04/19(木) 23:19:48.82
おおおお、いつの間にかいろんなのあるんだなあ。 最近でたっぽい、Python for iOSを買ってみるか。 電池じゃ動かないけど・・・・
え
292 :
デフォルトの名無しさん :2012/04/20(金) 15:50:03.15
pythonでGUIプログラムを作ろうと思って情報収集していたのですが
http://code.google.com/p/pysta/ このようなものを見つけました
そもそもプログラミング初心者の上英語もちんぷんかんぷんで何がなんだかなのですが
これはpythonのGUIをvistaっぽくする何かってことでいいんでしょうか?
もしそうであった場合、こういったデータの使い方は学習サイトのどういう項目で勉強すれば良いのかまでご教示して下されば幸いです
>>292 どんなものを作りたいのか具体的に書いた方がアドバイスしやすいと思う
リンク先は2009年に更新が止まっているので論外
295 :
デフォルトの名無しさん :2012/04/20(金) 17:11:26.00
返答ありがとうございます 個人的にはvistaのようにウィンドウを透かす感じのデザインにしたいのですが そういったことは可能なのでしょうか? それともそれの開発が滞っているように難しいことなのでしょうか?
Windowsネイティブの部品を使うライブラリならある程度見た目は
似せられるだろうけど、透明度の変更とか細かいことをやりたいなら
Win32APIを直接操作するしかないと思う
>>294 のサイトで言うと"venster"、"Win32All"というあたり
ただこれらは、WindowsのAPIを直接呼ぶはずなので、PythonというよりCやC++でプログラムを
書くのに近い作業になると思う Win32APIの資料も必要
また日本語ドキュメントが揃ってないとくじけると思うけど、こういうマイナーなライブラリには
日本語資料がほとんどないはず
Windowsはあんまり詳しくないんで詳しい人補足お願いします
>>295 具体的にどこを透かせたいの?
あと、実行環境も書いてね
>個人的にはvistaのようにウィンドウを透かす感じのデザインにしたいのですが >そういったことは可能なのでしょうか? それだけならかなり簡単 あなたの言うリンク先のモジュールとかもいらない
具体的に
300 :
デフォルトの名無しさん :2012/04/20(金) 18:27:38.69
実行環境とはOSのことでいいのでしょうか? だとすればwindowsですが、やはりLinuxで類似のデザインにしたい場合は勝手が変わってくるのでしょうか? 窓の後ろがどうなってるのかわかるようにしたいのでフレームの透明度変更の遣り方が知りたいです
Aero Glass効果が欲しいんなら、DWMAPIってやつを使うようだ ただし、API一つ呼んで終わりじゃなくて自分で半透明で描画しないといけない 既存のコントロールを透過させたいんならWM_CTLCOLOR、オーナードローや カスタムドロー 原理的にはウィンドウハンドル取る手段さえあればツールキットは問わないはず あとはpure Pythonコードでやりたいならctypesで CやC++でのAPIレベルのプログラミングの経験が無いなら無謀
Pythonって関数定義やクラス定義の終わりを明示しないのっ!? ソース見てたら、インデントが入ってることから判断すると内部クラスっぽいのがあんだけど 他の言語やってる経験からするととてもそうには見えない これ、どうやって内部クラスかそうでないかを判別するんだよ おせーて、そこのナイスな変態さん!
API3つくらい呼んで終わりなんだけどなぁ
>>302 折り畳むかアウトライン解析かな
vimならpython_fold.vim,tagbar.vim
手元にある他のエディタでは
SPE,eclise+pydev,geanyなどは
標準で備わってる機能だね
>>302 インデントレベルが浅くなる、という形でしっかり明示されてると思うが
>>302 from __future__ import braces
なんて親切なスレなんでしょう(棒
308 :
302 :2012/04/21(土) 00:42:38.92
310 :
302 :2012/04/21(土) 01:18:33.18
内部クラスについて聞いているだけなのに、 どうして俺がさもふざけてるような扱いをされるのか おこちゃまなガラスの自尊心がブロークンハート状態なんですねわかります 君が今回得るべき教訓は、『そういう態度をとる事こそ真に恥ずかしい』だ この質問を続けていると荒れてしまいそうだから、 ここでの質問は打ち切って2ちゃんねる以外の掲示板で聞くことにする もし、ム板の「Pythonのお勉強」スレで訊いたら同じやつに絡まれるからな
内部定義が一見してわからんソース(長かったり空行挟んでないとか)は、 書いたやつがクソって世界だから。 強制力はないけど言語仕様でそういうの排除できるって頭よくない?
>>310 >>305 が的確に回答してるのに
>そんな曖昧すぎる言語仕様があってたまるか
で返すのみたら誰だってふざけてると思うよ。
もしまだ不満なら何が気に食わないかを具体的に書けばいいだけ。
それ以前にまともに相手して欲しかったら普通の文体で淡々とやり取りすればいい。
それができないことこそ真に恥ずかしい。
まあどこで訊いても>302の答えは>305だから、 >302,310はどこ行っても「自分の欲しい答え」は貰えないんじゃない? Pythonだけがプログラミング言語じゃないんだし、勝手に他の言語使ってれば? と思う。 視野は狭くなるけど、自分で狭めてるんだからそれはしょうがない。
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 :
デフォルトの名無しさん :2012/04/21(土) 03:37:30.62
ちらしage
>>308 >そんな曖昧すぎる言語仕様があってたまるか
曖昧でも何でもない
Pythonでは自由なインデントは認められてなくて
インデントの仕方について厳密な規定があるからな
だからインデントレベルが下がるのは必ず何らかの構造の終わりを示す
すんません Windows XP環境で、コマンドラインからNTPサーバーに接続して時刻あわせをするスクリプトが欲しいのですが どうやれば良いか試行錯誤しています。 見本を見せてもらえませんか?
319 :
デフォルトの名無しさん :2012/04/22(日) 10:29:15.46
>>317 はPythonの話ではなくてXPの話
AD (Active Directory)に参加している端末なら強制的にADの時計に同期させられる
(Kerberos認証のため)
参加していなければ、Admin権限で
net time /setsntp:[NTPサーバ]
を実行する
Pythonからやりたければこのコマンドをsubprocess.Popen()で呼び出す
だれか性能の良い隔離スレ立ててくれ
そもそも、ここが隔離スレだというのに。
「自分は頭が良くて詳しいです」的な自己満足レスの典型だぞ。 相手は超初心者なんだからもう少し優しく教えてあげないと。 さもなくばスルーでOK
>>325 実行の構成>引数>プログラムの引数
first
2nd
3rd
ファイルのreadについて質問させてください file = open("aaa.txt") file.read() #一度目のreadではファイルの内容が返ってくる file.read() #二度目のreadでは空が返ってくる これは二度以上はreadをしないように自分で気をつけるしかないのでしょうか?
1回closeするクセをつければいいのでは
たぶん
>>328 はそれを読んでも分からないんじゃないかな
言語をとわず、一般にファイルから読み込むread()みたいな関数は、
ファイルの現在の位置(カーソルみたいなもんだと思ってくれ)から
データを読み始めて、読んだ分だけカーソルが移動するのがふつうなんだわ
read()は引数を指定しないとファイルの現在の中身全部読み込むので、
その時点でカーソルは終端に移動する
もう一度read()を呼んだら、もう先には何も無いわけだから空が返ってくる
どうしてももう一度読み直したいんなら、seek()でカーソルを先頭まで持っていけば
いいんだが、本当にそれがしたいことなのか考えたほうがいい
332 :
328 :2012/04/26(木) 02:38:25.88
ありがとうございます、ファイル読み込みの概念は理解できました Pythonに限らずどの言語でもファイルを読み込んだ後にcloseしている例が多いので、 なんとなくcloseするのがお行儀のいいやり方だとはわかっていたのですが二度readすると空になるとは思いませんでした
333 :
328 :2012/04/26(木) 03:26:00.02
先頭に戻すのが目的ならrewind()がいいんじゃない?
馬鹿には無理
336 :
デフォルトの名無しさん :2012/04/26(木) 05:18:24.59
IDはいらねーかなここ
もう全板強制IDにして欲しいわ
馬鹿には無理
a = 1 print "OK" if a == 1 else print "NG" これを実行すると else printのtのところでSyntaxErroeになります。 どこが悪いのでしょうか。
式のなかに文は置けない。なので条件式の中にprint文は置けない print "OK" if a == 1 else "NG" なら動く
>>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によって定めている、って感じかな。
なるほど、2つの式のどちらかの値を返してもらうだけの 限定されたifなのですね。 ありがとうございました。
条件式のifの方が優先順位が上なのか
優先順位がどうのじゃなくて、ifって2種類あるんだよ ステートメントのifと条件演算子のif これらは優先順位じゃなく文脈によって定まる
『カッコをつけなさい』 - 神の声
こっちが演算子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]
しかし条件演算子ifの導入には一悶着あったらしいね 俺は2.6からしか使ってないからよく知らないけど
>>345 今回のは結合度や左/右結合の話じゃないのでそれはあてはまんない
349 :
339 :2012/04/28(土) 12:35:59.22
以下のように書いたら動いてしまいました。 これは関数名が式として解釈されるために 関数の中に文があっても問題ないということでしょうか? 「別にあんたのために動かしてあげたんじゃないんだからね 関数は式だから仕方ないでしょ」って言ってるみたいで Python可愛いw def A(): print "OK" def B(): print "NG" a = 1 A() if a == 1 else B()
その通り 3.xだとprint文はprint関数になってるので print('XXX') if a == 1 else print('yyy') これも通る
351 :
デフォルトの名無しさん :2012/04/28(土) 14:27:55.70
IDはいらねーかなここ
>>339 わかってるかもしれないけど一応補足しとくと、339が定義した
AやBという関数は、outputとしてはNoneを返しているってのに注意。
だから
(A() if a == 1 else B())
は全体として値はNoneとなり、標準出力には(関数のoutputではなく)
side effectとして文字列が現れているということ。
このことを明確にするには、
print (A() if a == 1 else B())
としてみればよい。
『自演禁止』 - 神の声
馬鹿には無理
『馬鹿には無理』 - 馬鹿の声
連休で勉強中。 リスト・辞書・セットの要素追加・削除メソッドが 統一されていなくて、やけに覚えづらく感じる。 みなさんは慣れちゃって平気って感じですか?
? 統一されるわけなくないか?
馬鹿には無理
359 :
299 :2012/04/29(日) 19:38:51.47
>>355 それはスクリプトです。
Akbの清楚な画像とかと同じ。
pass
>>357 追加はadd、削除はremoveに統一できるのでは
ないかと思うのだけど、初心者の浅慮ですかね…
いまさら変えられない 初心者は黙ってろ
インターフェイスを統一するラッパークラスでも書けば?
昭和の頃覚えたアセンブラとC言語 これがあったから いまだに自分が損な業界で飯を食ってる
>>361 append()、expand()、add()、update()、それぞれ挙動が違うから、 add に統一は難しいんじゃ?
remove と del
366 :
365 :2012/04/29(日) 22:16:00.75
とちゅうで書き込んじった。 remove と del はまとめれそうな気がするけど。
プログラム書ける人はハンサム
俺ってハンサムだったんだ 街に繰り出してくるは
Trie/DoubleArrayなどのデータ構造を実装したライブラリって無いのでしょうか 検索してみるとどうやら必要に応じて自分で実装している人が多いので、標準ライブラリ的なものは無さそうですけど
pass
continue
python2.7をwindows7 64bitで勉強中です。 テキストファイルやCSVファイルの読み書きを学んでいるところなのですが 文字コードでたびたび詰まります(特にCSVファイルへの書き込み)。 python3.2で勉強すればこの問題には直面しないのでしょうか? であればもうpython3.2で勉強してみようかとも思っているのですが・・・
どんな問題がでるのか書かないとわからん たまにエスパーいるけど
すみません UnicodeEncodeError: 'ascii' codec can't encode character u'\uff12' in position 0: ordinal not in range(128) みたいなエラーが出ることです。
ちなみにそのエラーの意味は分かりますか?
もう解決してるじゃん 勉強中って言うくらいならエラーログくらいちゃんと読むクセつけましょう
たとえば
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 の質問に至りました。
import codecs, csv u = u'2ちゃん' with open('2ch.csv', 'wb') as f: writer = csv.writer(f) writer.writerow(u) 試す気ないけどこれはOKじゃありません?
382 :
381 :2012/05/03(木) 12:30:14.37
間違えた writer.writerow(u) ↓ writer.writerow(u.encode('utf_8'))
>>381 レスありがとうございます。
エラーは出ませんでしたが
・シ,・・・。,・・・・・・
と書き込まれてしまいました・・・
2.7勉強したって3.2へ移行しないと行けないのに よくやるよ
python csv unicode のキーワードでググって一番上に出てくる個人サイトで 解決策が出ている。 結論としては、csvモジュールに難あり。 他人の作ったモジュールに中途半端に頼ると 不幸になるという見本だね。 できる限り自前で作ることが、最終的に幸せになる鍵。
>>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)
文字コードで悩むくらいなら素直に3使ったほうがいいよ 標準モジュールでさえstr/unicodeの暗黙の変換でハマることはあるし
>>384 ありがとうございます。できました。
文字列ってsequenceだと思ってましたけど自分の理解にまずいところがあったようです
改めて読み込んでみます。
>>386 ありがとうございます。肝に銘じます。
>>387 ありがとうございます。
最後のだけエラーが出ますがcodecs使わない方が良いということなんでしょうか・・・
>>388 ありがとうございます。Django使いたいので2でと思っていたんですが、
今回のようにDjango関係ないところでは3を使うようにします。
>>389 いや文字列ははシーケンス(の一種)であってるよ。forに添えたりスライスできる
ただwriterow()は文字列のシーケンスか数値のシーケンスを期待しているので
writerow("abc")ではなくwriterow(["abc"])としなきゃいけない
>>383 はUTF-8バイト文字列 "2ちゃん" が1バイトずつデリミタ , で区切られてる
>>388 文字コードへの配慮が抜け落ちていているライブラリが混入してるのは
Python3もいっしょなわけで、あんまり夢は見ないほうがいいかと。
>>389 いや、分からんけど、codecs使わなくていいなら使わなくていいんじゃない?
試してみたところ、問題はcodecs側に有りそうな気がして
>>387 書いた。
csv moduleが悪いわけじゃないと思うんだ。
周りの無知・無理解で悪くない奴が責められるのが嫌なんだー。
嫌でしょう?おかしいでしょう?
>>388 が言うように、3系使うのをお勧めする。
programmingの本質でない所でハマって往生するのは嫌でしょ?
またDjangoかよ 足引っ張ってるなDjango
>>391 CJKへの配慮が足りない程度ならライブラリをfixすりゃいいし
全部unicodeにして渡してるのに訳分からんタイミングでstrに戻されるよりマシ
どんぐりころころ どじゃんぐりこ 2系にはまって さあたいへん
おじゃんがでてきて こんにちは〜 ばぐちゃん いっしょに あそびましょ〜
>>394 残念ながらUTF-8固定になってるライブラリが混入してますた
みなさんご指導ありがとうございます。大変助かります。
>>390 "abc"は文字列で["abc"]が文字列のシーケンスっていうのが理解できません。
この場合のシーケンスってリストくらいに考えておけばいいのでしょうか?
手元に秀和システムの「Python入門2&3対応」っていう本があるんですが、
確かにwriter.writerow([1, 'taro'])と書かれてます(P316)。何の説明もありませんが。。。
>>391 結局は文字コードの勉強もしないといけないんですね。文字コード技術入門買います。
>>392 確かにこう並べてみるとcodecsにありそうですね。
僕の場合は文字列のシーケンスっていうところの理解が不足していたようですが、
無知を恥じます。
シーケンスは”順番に並べた一連のもの”ですよ 文字列は文字を並べたもので 文字列のシーケンスは文字列を並べたものです
>>398 一文字を文字と呼ぶ。
ss = 'apple'
とした時に、
ssが文字のsequence。
文字列は文字のsequence。
S = ['abc', 'def', 'ghi', 'jkl', 'mno', 'pqr', 'stu']
N = [2, 4, 7, 1, 3, 8, 9, 5]
とした時に、
Sが文字列のsequence。
Nが数値のsequence。
文字列のsequenceと数値のsequenceの混在も可能。
M = ['abc', 0, 'def', 8]
文字のsequenceを文字列と呼ぶ。
# '' 空文字列, 'a' 一文字の文字列, 'ab' 二文字の文字列
複数の文字列の集まりが文字列のsequence。
# ['', 'a', 'ab']
文字列のsequenceは、
文字のsequenceのsequenceと呼べる。
sequenceは連なりと読み替えると理解しやすいかも。
文字の連なりを文字列と呼び、
文字の連なりの連なりを文字列の連なりと呼ぶ。
文字の連なりの連なりが文字列の連なりと等しい。
>>401 Pythonでは文字と文字列の区別はしませんYO
便宜的な話だろ 厳密に言おうとするから「表現しようがない」とか言う話になる そんくらい分かれ
馬鹿には無理
405 :
401 :2012/05/03(木) 21:59:57.78
つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり 一文字の連なりを文字列と呼ぶ。 に修正。 文字列は一文字のsequence。 S = ['abc', 'def', 'ghi', 'jkl', 'mno', 'pqr', 'stu'] N = [2, 4, 7, 1, 3, 8, 9, 5] Sが文字列のsequence。 Nが数値のsequence。 一文字のsequenceを文字列と呼ぶ。 複数の文字列の連なりが文字列のsequence。 文字列のsequenceは、 一文字のsequenceのsequenceと呼べる。 sequenceは連なりと読み替えると理解しやすいかも。 一文字の連なりを文字列と呼び、 一文字の連なりの連なりを文字列の連なりと呼ぶ。 一文字の連なりの連なりが文字列の連なりと等しい。 (^q^)つらなり、つらなり言ってると分け分からんくなってきた。(^q^) つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり、つらなり
やめろ!
馬鹿な僕にもわかりやすく説明してくれて感謝してます。 壮絶なわかりやすさのおかげで理解できました。 直感的に理解できない言葉は固有名詞として覚えてしまう傾向がありまして 今まではそれでうまくいっていたんですが、それだけではダメだと実感しました。 ありがとうございました。次は他の方の質問にも答えられるよう勉強続けます。
分からんことあったら、またなんか書いてちょ。 連なり、つらなり、(^q^)連なり、つらなり、(^q^)連なり、つらなり、(^q^)連なり、つらなり、(^q^) ・ ・ ・ ∩___∩三 ー_ ∩___∩ |ノ 三-二 ー二三 ノ ヽ ツーラナッテキタァ、ツラナ(^q^)リツラナリ(^q^)ツラナリ(^q^)ツラナ(^q^)リツラナリツラナリ / (゚) (゚)三二-  ̄ - 三 (゚) (゚) | | ( _●_) ミ三二 - ー二三 ( _●_) ミ ウオー連なり、つらなり、(^q^)ォオォーア 彡、 |∪| 、` ̄ ̄三- 三 彡、 |∪| ミ / __ ヽノ Y ̄) 三 三 (/' ヽノ_ | 連なり、つらなり、(^q^)ッヒャアアアウオホーオオオオオ (___) ∩___∩_ノ ヽ/ (___) (ヽ | ノ ヽ /) (((i ) / (゚) (゚) | ( i))) あばば連なり、つらなり、(^q^)ばばばば!!!!!!!!!連なり、つらなり、(^q^) /∠彡 ( _●_) |_ゝ \ (^q^)ツラナリツラナリ(^q^)ツラナリ(^q^ツラナリ)ツラナリ(^ツラナリq^)(ツラナリ^q^)ツラナリツラナリ(^q^) ( ___、 |∪| ,__ ) あば連なり、つらなり、(^q^)ばっあびゃば | ヽノ /´ び連なり、つらなり、(^q^)ゃばば!!!!!!!!!!
pass
pythonでクラスつくる意味ってあまりなくないですか どうなんですか
大クラス主義
>>410 なぜそう思うのか簡潔に述べてみなされ
いっしょに考えようじゃないか
モジュール単位でまとめたほうがわかりやすいと思ったからです
414
>>413 ふむ。
君は他の言語ではクラスを使ってバリバリやっていて
その経験を踏まえたうえでそう思うんだよね?
だったら他人が口を挟む余地はないな。
君の思う通りにやりなさい。
オブジェクト指向ってのが、やっとちょっと分かって来た。 うれしい。涙
オブジェクト指向は長く複雑なアプリを部品化して 保守しやすくするための概念だからね。 使い捨ての短いアプリを主戦場とするPythonでは あまり出番はない。 むしろ、部品化したことによって部品間のアクセス 記述が冗長化し、全体の見通しの悪さにつながり デメリットの方が大きくなる懸念がある。 オブジェクト指向は、使わなくて済むのなら 使わないに越したことはないんだよ。
>>417 > 使い捨ての短いアプリを主戦場とするPythonでは
> あまり出番はない。
えっ?
Pythonは使い捨て用って程でもないよな 小規模〜中規模って感じでそれなりに幅は広い
プログラム書ける人はイケメン
まじか、ちょっと街に繰り出してk… やめとこ
別に使い捨てが主戦場ではないよね 短く書けるから使い捨てる場合にCやらJAVAよりも適してるってだけで
スレタイがくたばれPythonに見えました どうすればいいでしょうか
ねたばれしてみてください。
殺人ウサギを放て
pass
428 :
デフォルトの名無しさん :2012/05/05(土) 21:09:54.73
プログラムはだいたい分かるのですがPythonは本を買って読んだことが無いので一冊買おうと思うのですが Pythonの本は何を買えばいいでしょうか。現時点までのメジャーなフレームワーク(?) とかそういうものまでざっと網羅されているものがよいのですが・・・
英語か日本語かによって回答が変わると思う。
>>428 経験者なら公式のチュートリアルを見てきてから買う本の検討に入っても遅くないかと
431 :
428 :2012/05/05(土) 22:49:53.28
基本、英語はスラスラと読めません。 紙の本のほうが自分には使いやすいので・・・
何度目だこのやりとり あえて本買うならきちんと翻訳されたの 一から日本人が書いてるのは残念ながらろくなもんがない
異論あるかもだけど ・エキスパートpythonプログラミング ・python cookbook ・はじめてのpython あと英文はだんだん読んでならした方が色々得だと思う
他言語から移って来てpythonの基本的な仕様を確認するだけならみんなのPythonがベストだと思う よくまとまってるから1時間ぐらいでも基本的なことを頭に叩き込めてすぐにコード書き始められる はじめての〜はちょっと分厚すぎるかな 技術評論社の入門本(スタートブックだっけ?)はプログラミング言語自体の初心者なら一番お勧めかも
馬鹿には無理
中谷先生のマクロ経済学の教科書は馬でもわかるという触れ込みだったのだけど 当時の自分にはさっぱりわかりませんでした。いまでもトラウマです
437 :
428 :2012/05/08(火) 00:54:40.21
どうもありがとうございます。 とりあえず教えていただいたものからなにか選ぼうと思います。
438 :
デフォルトの名無しさん :2012/05/09(水) 02:22:20.72
もうアドバイスは挙がってるので、このレスは読み流して貰っていいんですが、パイソンスタートブックという本がかなり分かり易いらしいです。
確かにスタートブックはわかりやすいんだけど、 既に他言語でプログラミングを理解している人には平易すぎると思った 本当のプログラミング初心者向けのページが多過ぎるような
またDjangoかよ 足引っ張ってるなDjango
pass
442 :
438 :2012/05/09(水) 16:37:07.68
>439 アマゾンでパイソンの書籍を検索するとこの本が一番上に来る事から、人気がある事は間違いないです。 みんなのパイソンは、アマゾンではややレベルが高いというレビューが目立ちます。 オライリーの本は詳しそうですが、厚いので読むのに根気が要りそうです。 ただ、私はこれらの本を否定するつもりはありません。
>>442 人に勧めるなら自分で目を通してからにするか
せめて検証を経たレビューを元にするかしたほうがいいかと
Amazonのレビューがあてにならないのは常識なので
もうこの際ステマすんなと言ってしまった方がいいな
445 :
442 :2012/05/10(木) 01:47:54.48
>443 はい。 >444 ステマではない。
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
大学に入ってC言語の勉強を始めた者です。 先生に勧められてPythonの勉強を始めたのですが、 Pythonはすごいのですね。 初めて動的型付けというものを見て、それだけでもびっくりしたのですが、 何よりも驚いたのは、文字列を扱うのがとても簡単であることです。 C言語では以下のステートメントはポインタの比較になってしまいますが、 if (str == "abc") Pythonでは文字列を比較してくれるのですね! if str == 'abc': これだけでも感動でした Cで文字列の比較するにはstrcmp使ったりするのが多いですものね
>>> a = 'abc' >>> type(a) <type 'str'> >>> str == a False >>> str == 'abc' False ん?
>>450 str
type(str)
isinstance('abc', str)
help(str)
while 1: str = raw_input() if str == '1234': break
while 1: str = raw_input if str() == '1234': print str.decode('ascii') break
クラスの勉強をしているのですが どういう時に変数やメソッドに selfを付ければよいのか、よくわかりません。 全部に付けても構いませんか?
大学生に2を勉強させる老害先生www
たぶん
>>447 はPythonも文字列型の型名がstrなのを知らずに
文字列の変数名としてstrと書いたのではないかな
>>458 訂正
×Pythonも文字列型
○Pythonの文字列型
Pythonはstrを普通に上書きできるから困るw なんで予約語にしないんだろうね?
組み込み型程度を予約するな 他の言語がアホなんだよ
ごめん
テストでモックとかスタブとかを組み込みオブジェクトにぶっ込めるのはとても楽チンです。
自分も初心者のとき
>>455 で詰まった覚えがあるので練習問題を作ってみた
次のコードを実行したとする:
class MyClass(object):
num = 2
def foo(self): num
def bar(self): MyClass.num
def baz(self): self.num
def qux(self): bar()
def quux(self): self.bar()
def xyzzy(self): MyClass.bar(self)
m = MyClass()
この状況で、以下の式のうち実行するとエラーになるものを挙げよ。
[1] m.foo() [2] m.bar() [3] m.baz() [4] m.qux() [5] m.quux() [6] m.xyzzy()
[7] m.num [8] m.num() [9] MyClass [10] MyClass.bar() [11] MyClass.bar(m)
こうですか? >>> m=MyClass() >>> m.foo() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 3, in foo NameError: global name 'num' is not defined >>> m.bar() >>> m.baz() >>> m.qux() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 6, in qux NameError: global name 'bar' is not defined >>> m.quux() >>> m.xyzzy() >>> m.num 2 >>> m.num() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not callable >>> MyClass <class '__main__.MyClass'> >>> MyClass.bar() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unbound method bar() must be called with MyClass instance as first argument (got nothing instead) >>> MyClass.bar(m) >>>
>>465 なぜそうなるか説明できるならそれでおk
馬鹿には無理
class Hoge: a = 1 b = 100 のようなクラスがあるときに hoge = Hoge() print hoge.c とメンバ変数cを呼び出したときにbの値が返ってくるようなメソッドは書けるのでしょうか
>>468 def __getattr__(self, name): return self.b if name == 'c' else AttributeError
# インデントまんどいから一行に書いたけど本意じゃない。
いや@property使えよ
>>457 どういう時に必要なのかがよくわかりません。
以下は正常に動くのですが、変数aやarg1には
selfを付けなくていいんでしょうか。
class Samp():
def mes(self, arg1):
a = arg1 * 2
return a
x = Samp()
x.mes(4)
>>472 aやarg1がオブジェクトの属性(インスタンス変数)ならselfが必要
mesの中でしか使わないローカル変数であればselfを付けたら不正
そのコードのaやarg1はメソッドmesのローカル変数なのでselfはつけてはいけない
475 :
472 :2012/05/11(金) 20:05:12.73
>>474 ありがとうございます。
すると、self付きのインスタンス変数というのは
結局のところ、メソッド間で共用する変数という
認識でよいでしょうか?
他のメソッドからアクセスされない変数ならば
selfを付けなくてよいと。
属してるレイヤーを考えないと泥沼になるぞ
>結局のところ、メソッド間で共用する変数という >認識でよいでしょうか? 違う selfに属する変数
>self付きのインスタンス変数 ごめん意味がわからない
>>475 それでほとんどあってる。けどちょっと理解が浅いように見える(だからツッコミが入る)
あとは自分でコード書いたり本読んだりして理解を磨いていったらいいよ
selfの機能じゃなくてselfが何者かってのをわかるようにすべきでは で、その答えはもう書いてあるしなんか考え方の要領悪いんじゃないの
>433 pythonスタートブック以上クックブック以下の難易度の本教えてください。 クックブックは良いんですがまだ少し難しいです。 できれば2.6以上対応が望ましいです。 よろしくお願いします。
馬鹿には無理
lxmlというXMLパーサーにHTML等をパースさせて返ってくるオブジェクトは特殊な型?なのでストレージ等に保存しておくことができません。 Pickleでもシリアライズ不可能です。 これをメモリ上にずっと載せておいて後から使うことはできませんでしょうか? lxmlでパースするのはちょっと時間がかかるので、使うたびに生成するのではなく、 生成結果オブジェクトをメモリ上に置いてすぐ使えるようにしたいのです
485 :
デフォルトの名無しさん :2012/05/16(水) 07:15:58.60
memcached
>>484 jsonにでもしてファイルに保存しといたらいいんじゃないの?
あるメソッドの内部処理が「ダメだった」場合に空のオブジェクトを返すかnilを返すか自作例外を発生させるかの定まった回答はない そのメソッドやクラスがどういう場面で使用されるか、をよく考えた上で自分で決めるしかない B#keysが[]を返すのは、空のHashに対するHash#keysが[]を返すことからの類推と、 そのB#[]の作者が[]メソッドに照会の機能を持たせてるからだと思う メソッドの戻り値の内容はこっちで吟味するからとりあえず配列を返しといて下さい、という
プログラム書ける人はIQが高い
まじかよ街に繰り出してくる
>>491 そんな事言い出したらなんだってそうだろ。
世の中の90%以上の人間はおそらく野球の素質がないし音楽の素質がないし小説家の素質がない。
むしろ40%の人間に素質があるとしたらいかにプログラミングが誰にでもできることかってことだ。
493 :
デフォルトの名無しさん :2012/05/18(金) 18:43:57.67
馬鹿には無理
日本人にはプログラムが出来ないと言われていた時代があったんよ。
495 :
484 :2012/05/18(金) 21:40:57.68
>>486 >メモリ上にずっとってことなら、処理するPythonを落とさなければ
なるほど、ヒントありがとうございます。
共有メモリ上でオブジェクトをシェアできるPOSH(Python Object Sharing)というものを使って、
lxmlオブジェクトを持つpythonプロセスを常時立ち上げておいて別のプロセスからアクセスというやり方で解決するかもしれません。やってみます。
>>491 世の中の半数の人間は偏差値50以下ってことですね
判ります
コマンドラインアプリを作りたいのですが、 Windowsなので文字コードをcp932にしないといけないそうなのですが、 内部がunicodeなので、どうすれば変換できるのでしょうか?
u"ほげほげ".encode("cp932")
print u"ほげ"
Portable Python 2.7.x で、 CGIHTTPServer を立ち上げ ↓ python.exe をキル ↓ 再度 CGIHTTPServer を立ち上げ 上をやると、 Could not access runpy._run_module_as_main. って出て、 2回目以降サーバーが立ち上がらなくなるんですが原因分かる方いますか(´・ω・`)?
箇条書きにしないでターミナル上の操作(コマンドライン)と出力を そのまま貼ったほうが回答しやすいと思うよ
Python 2.7.3をLinux(玄箱 debian)でコンパイルしようとおもってます おすすめのconfigureオプションなどありますでしょうか?
>>501 (インストール直後)
C:??>"C:??Portable Python 2.7.3.1??python" -m CGIHTTPServer
CGIHTTPServer Serving HTTP on 0.0.0.0 port 8000.
(タスク マネージャーからpython.exeをキル、その後コマンド プロンプトを立ち上げなおして以下を入力)
C:??>"C:??Portable Python 2.7.3.1??python" -m CGIHTTPServer
Could not access runpy._run_module_as_main.
(以降、ポータブル版を再インストールしない限りサーバーが立ち上がらない)
分かんないですよねー(´・ω・`)
>ポータブル版を再インストールしない限り そんな今年なくてもPC再起動でいけるだろ
>>503 C: >"C: Portable Python 2.7.3.1 python" -m CGIHTTPServer
CGIHTTPServer Serving HTTP on 0.0.0.0 port 8000.
この後にこのコマンドプロンプトからCtrl+Cしたらどうなる?
あとCtrl+Breakも試してみて 何回か押したり長押しでないと反応しないかもしれない
portを使用中ってなだけでしょ。 再bind()できてないんだと思う。 optionを--help等で調べてportを適当に変えてみると良い。 --port=8080とかで起動させればうまくいくと思うよ。
508 :
デフォルトの名無しさん :2012/05/20(日) 00:13:26.23
こんばんは。おとといPythonを始めたものです。質問したいのですが、 pascalやC言語では write('aa'); begin write('bb') end または write('aa') write('bb') や printf("aa") { printf("bb") } または printf("aa") printf("bb") など意味は持たないがインデントを加えたりブロックにすることで視覚的に見やすくするという書き方をたまにしていたのですが、 Pythonでこのような書き方をするにはどのようにすればよいでしょうか ご教示お願いします
509 :
デフォルトの名無しさん :2012/05/20(日) 00:17:05.55
write('aa') write('bb') というインデントです 半角だと省略されてしまうんですね;;
単純に空白4個入れるとかだけど。 if True: print('a') print('b') あえて書くならこれぐらい? でも、改行入れちゃえばそれで事足りる話しだしなー。 おそらく、一つの関数が長大なんでしょう。 きちんと意味単位で関数作ろうよ。
>>510 ありがとうございます
wxPythonのSizerを
sizer0
sizer1
sizer11
sizer111
sizer112
sizer13
sizer14
sizer2
大体上記のような親子構造にしようと思っていたのでインデントを加えるかもしくはブロックにできれば見やすいかと思ったので聞きました
あと、Python2.7をPyDevで開発しているのですが空白4つ入れるだけだと実行できなくなってしまいます
>>511 VMのスタック操作とかウィジェットのパッキングとかでやりたくなるよね
でも、Pythonでは諦めたほうがいいと思う
WXFBなどのGUIビルダを使うか
手書きでいくならコメントでなんとかするのがいいと思う
vimなら
# <sizer0> {{{
sizer0
# <sizer1> {{{
sizer1
# </sizer1> }}}
# </sizer0> }}}
514 :
デフォルトの名無しさん :2012/05/20(日) 01:52:26.91
>>512 トップレベルの階層に不要なインデントを挿入した
「 print("hello")」
という書き方では実行できず
「print("hello")」
と詰めて書かないといけないので、
ロジック的にCやPascalで意味の無いブロックもしくはインデントを利用するやり方は用意されていないということでしょうか
>>513 更新してませんでした
月並みな初心者向けの回答ではなく、的確な回答、すっきりと納得しました
GUIビルダーはGUIビルダーで面倒な部分もありコードで乗り切ろうと思ってましたが、これは要検討ですね
ありがとうございます
馬鹿 には 無理
こんな感じにするとか ( print("hoge"), print("fuga"), print("foo"), )
>>517 レスありがとうございます
タプルを使う発想はありませんでした
ですが見た目のエレガントさは若干落ちますね
どうしてもやりたいなら if widget1: print('indent1') if widget2: print('indent2') だろうね。
うん、案外使えるかもね。 comment代わりにすればいいんじゃない? if '色の設定開始': self.color = {} if '基本的な色の設定': self.color['red'] = 0xff0000 self.color['green'] = 0x00ff00 self.color['blue'] = 0x0000ff
ttp://tvde.web.infoseek.co.jp/cgi-bin/jlab-dat/k/s/dat1337374988433.jpg 1. クウェート国 1961年、イギリスから独立
2. アブダビ首長国 1971年、イギリスから独立
3. ユーゴスラビア 1918年建国、2006年に消滅
4. トンガ王国 1875年建国、1970年にイギリス連邦参加
5. タイ王国 1238年建国
6. モロッコ王国 1956年、フランスから独立
7. サウジアラビア 1932年建国
8. モナコ公国 1297年建国
9. ルクセンブルク大公国 1815年建国
10. レソト王国 1966年、イギリスから独立
11. ベルギー王国 1831年建国
12. ノルウェー王国 1905年建国
13. カタール国 1971年、イギリスから独立
14. ヨルダン国 1946年、イギリスから独立
15. バーレーン国 1971年、イギリスから独立
16. マレーシア国 1963年、イギリスから独立
17. 日本国 紀元前660年建国 ← 俺たちの皇国
18. オランダ王国 1815年建国
19. デンマーク王国 1814年成立
20. ギリシャ 1821年、オスマン帝国から独立
21. ルーマニア 1877年建国
22. ブルガリア 1908年、オスマン帝国から独立
23. ブルネイ 1984年、イギリスから独立
24. スウェーデン王国 1523年建国
25. スワジランド王国 1968年、イギリスから独立
26. リヒテンシュタイン公国 1806年、神聖ローマ帝国より独立
世界唯一のエンペラー表記!!!
属国民族のエベンキ朝鮮猿が土下座しながら、日本に併合支配を願い出たのも当然な気がするwwwwww
馬鹿には無理
continue
>>504-507 遅くなりましてすいません。
実はまだ試せれてないのですが、
家帰ったら色々やってみます(´・ω・`)
ありがとうございす(´・ω・`)
Pythonをwebサーバ(CGIとしてではなく)として動かす場合について質問させてください Rubyをwebサーバ(CGIとしてではなく)で動かす場合、webrickとかpassengerとかmongrelとかのプログラムで動かすんですが Pythonでもそういうwebサーバ(CGIとしてではなく)を動かすプログラムがあるのでしょうか?
wsgi
WSGIはCGIといっしょでインターフェース仕様じゃん。 TwistedとかCherryPyでしょ。
SimpleHTTPServer
uwsgiとかgunicornとかでしょ
でしょでしょ
idleで行番号を表示させる方法ってありますか?
idle使ってるひとなんているんだw
536 :
デフォルトの名無しさん :2012/05/24(木) 10:46:59.08
537 :
デフォルトの名無しさん :2012/05/24(木) 10:48:53.25
すみません、情報載せ忘れていました。 OSはLionの10.7.4でPythonは2.7.1です。コンソールから起動しています。
読んで字の如し ScipyにはFortranの環境が必要
ここで聞く前にエラー文で検索するぐらいはしような
540 :
デフォルトの名無しさん :2012/05/24(木) 13:23:41.07
エラー文で検索するぐらいのことは当然しましたがそれでもわからないので質問したんですけどね。 Fortranの環境作るのも調べてもわからなかったし諦めます。 回答してくれた方ありがとうございます&空気読めない質問してすみませんでした。
GCCにFortranコンパイラが入っている
>>540 俺はhomebrewでgfortran入れた。
windows版最強ですねわかります
最先端の言語であるPythonが 古代言語Fortranなんぞに頼るシチュってどんなだよw
俺も最近ScipyをMacに入れようと思ったらFortranコンパイラが入っていないと言うので 試行錯誤してたらOSの重要ファイル上書きしてしまって起動しなくなったw OS自体は何とかレスキューしたが未だにコンパイラが入らない... Ubuntuで試したらアッサリ入ったんだけども
>>540 こういう手のひら返しってどうなの?
つーかそんなアッサリ諦めてる姿勢も意味不明
seekできないfileオブジェクトを参照なしでコピーしたいのですが、どうすればいいでしょうか イメージとしては f = open('test.txt','r') a = copy(f) としたときに a.read() f.read() で、どちらも読み込めるようにしたいのですが
reopen
不可能。
f = open('test.txt','r') b = f.read() c = copy(b)
対象ファイルが物理的にどういう配置になってほしいのか文法を離れて考えてみるんだ
急にレベル落ちたな
8gbのメモリを積んだpcでも16gbのメモリを積んだ pcでも [i for i in range(100000000)] とかにするとmemorryerrorがでちゃいますが 使えるメモリ量を変更することって出来ませんか?
Where is the sponge I asked you to buy? I couldn't see a good one. They all had holes in them.
[i for i in xrange(100000000)]
PythonもC言語みたいに分岐予測を活かすために条件分岐のは浅くしたほうが良いんですか? 逐次実行だから関係ない?
>>554 もちろんPythonは64bitですよね?
>>557 そんなに速度を気にするならCで書いたほうがいいよ
処理系自分で作れば良いじゃん
それなんてLLVM?
>>> import time >>> def dofunc(func): ... t1 = time.time() ... func() ... t2 = time.time() ... print t2 - t1 ... >>> def a(): ... g = [] ... for i in xrange(1000000): ... g.append(i) ... print len(g) ... >>> def b(): ... g = [] ... [g.append(i) for i in xrange(1000000)] ... print len(g) ...
>>> dofunc(a) 1000000 0.375 >>> dofunc(b) 1000000 0.344000101089 >>> dofunc(a) 1000000 0.218000173569 >>> dofunc(b) 1000000 0.343999862671 >>> dofunc(a) 1000000 0.203000068665 >>> dofunc(b) 1000000 0.18700003624 >>> dofunc(a) 1000000 0.141000032425 >>> dofunc(b) 1000000 0.202999830246 >>>
intを2億個生成すると1.5GBメモリ使うから [i for i in range(100000000)] OSの制限で基本的に2GBのメモリ制限を受ける32ビットプロセスでこんなことやった日には即死リーチ
Content-typeヘッダから拡張子を判断するにはどのライブラリ使えばいいんですか?
かぶるけど勿体ないから貼る >>> import mimetypes >>> mimetypes.guess_all_extensions("text/html") ['.html', '.htm', '.shtml']
その逆関数をしたいんです mimeToExt("text/plain")と入れたら.txtと返ってくる的な
よく見てなかった、ありがとうございます・・・
>>564 逆に64bit pythonなら大丈夫何ですか?
64bitだと相性悪くって使ってなかったんですけど
[i for i in range(100000000)] 64bit版で空きメモリ4.3GBくらいだけど無理だった int32が100*100万個の配列でも400MBしかならないよね? 何で足りないんだろ 5000万個は通った
お前ら、 32bit環境 >>> n = 1 >>> n.__sizeof__() 14 64bit環境 >>> n = 1 >>> n.__sizeof__() 28 これ知ってて言ってんの?
知らない。 初心者はそういう言語の内部構造には興味ないから。
でも1個28bytesでも1億個で2.8GBだし・・・
省メモリにするにはarray.arrayを使ったらいいよ
それよりScipy そんなクソでかい配列をPythonでいじろうなどとは烏滸の沙汰
じゃあ、これは? 32bit環境 >>> None.__sizeof__() 8 >>> id(None) 136045584 >>> x = [None] * 4 >>> for i in x: ... print(id(i)) ... 136045584 136045584 136045584 136045584 >>> for i in range(27, 30): ... n = 1 << i ... print('i =', i, 'n =', n) ... print('__sizeof__() =', ([None] * n).__sizeof__()) ... print() ... i = 27 n = 134217728 __sizeof__() = 536870932 i = 28 n = 268435456 __sizeof__() = 1073741844 i = 29 n = 536870912 Traceback (most recent call last): File "tech571_2.py", line 4, in <module> print('__sizeof__() =', ([None] * n).__sizeof__()) MemoryError
美しい人生よ 限りある喜びよ
>>573 内部構造を知ろうとしないで実memory使用量分かるわけないよ。
言い方が悪くて恐縮だけど、
傍から見るとちょっとトンチンカンなことを、あなたたちはやってたの。
また、別途listのためのmemoryが必要なんだけど、
>>577 のように、
約2億7千万個の要素を持つlistを作成するのに必要なmemoryは1GB
一億個でも380MBぐらいっぽいね。
>>> ([None] * 100000000).__sizeof__() / (1024 ** 2)
381.4697456359863
Pythonで使用するlistのmemory量を考える時には、
listに突っ込むobjectのみでなく、
listそれ自体のmemory使用量も考える必要があるわけ。
で、
>>571 が何で足りないんだろ?と疑問に思ったのは、
listの実memory使用量を考慮していなかったからだと思います。
|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
>>578 それは“I”のメモリーだろw
つまりマイ・メロディーだ
∩∩ (・x・)
ずれてる
大規模行列はnumpyでっていうのはわかるんですが、メモリの使用量も少なくなるのでしょうか? NumpyのC側で効率のいいデータ構造を使っているとか
visual studioのスレでも聞いたのですが,回答がなかったのでお願いします python tools for visual studioを使っているんですが スペルミスなどをしたときに出るはずの未定義変数の表示が出ません c++の時はちゃんと教えてくれるのですが、pythonは何か設定が必要なのでしょうか?
import test_module1 の代わりに test='test_module1' import test のようにimportの引数に変数を使う方法を教えて下さい。
__import__
590 :
587 :2012/05/29(火) 15:36:52.18
プログラム書ける人は器が大きい
マジで ちょっと街に繰り出してくるわ
Python 2.7でXMLを編集する方法について教えてほしい。 <XMLTree> <node name="hoge"> 1 2 3 </node> </XMLTree> といった構造のXMLファイルを読み込んで、 nodeのnameをfugaに、node内の数列の全要素に 四則演算を行って、変更内容を反映したXMLを 再度XML形式で出力したいんだけど、 XMLを部分的に変更して書き出すような サンプルがなかなか見つからない。 何かいい方法はないだろうか? 普段XML読むときはElementTree使っているのだが。
import xml.etree.cElementTree as ET root = ET.parse("2ch.xml").getroot() for node in root.findall(".//node[@name='hoge']"): node.tag = "fuga" node.text = str(sum(map(int, node.text.split(" ")))) print ET.tostring(root)
>>594 おぉー、即レス感謝!
node.tagはタグ名が変わっちゃうな。
node.set("name", "fuga")でうまくいったわ。
やりたかったことは一通りできそうだ。
textはそのまま代入すればいいんだな。
アトリビュートはsetでテキストは代入ってのが
何となく感覚に合わないが…。
>>595 代入に統一したければ node.attrib["name"] = "fuga" も可
597 :
593 :2012/05/31(木) 23:08:24.04
>>596 おぉ、これまた即レスthx
こっち使うことにするわ。
attribを直接さわるのは中の人的には非推奨らしいからできればset使うべき
禿しく同意
|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
シメジ
既出ですまないが、「みんなのPython」「PYTHONクイックリファレンス」 「PYTHONクックブック」を揃えてしまったが、今から勉強するなら やはり3.0以上のほうがいいのかな?
同時にやればいい
SyntaxWarning: name 'x' is used prior to global declaration のようなワーニング表示を止めるようなオプションがあれば教えて下さい。
警告が出ないように書けよ
ウォーニング
python -W ignore
608 :
604 :2012/06/01(金) 15:19:52.34
>>607 サンクス!
時間があれば警告出ないようにしてみるお。
header作るだけだよ
611 :
デフォルトの名無しさん :2012/06/03(日) 00:17:20.56
質問させてください。 現在、以下の様なプログラムを作りたいと思っています。 @外部からデータを受け取る A取得したデータに演算を行い、結果をファイルに書く Aの演算には少々時間がかかります。 そこで、@Aを別々のスレッドにしたいと思います。 @ではデータを受け取りキューに突っ込むだけで終わり Aは@が突っ込むキューを監視し、データが入ってきたら処理を行う のようなプログラムにしたいと思います。 Aでキューを監視する場合、ビジーループにならないようにするためにはどうすればいいでしょうか? よろしくお願いいたします
他人の話題にケチつけて自演してでも自分の話題を盛り上げたい奴が居るようだ。
>>613 ありがとうございます!
こんなに早く回答いただけるとは思いませんでした!!
簡単に見てみましたが、スレッド操作もキューの実装も標準のAPIだけでかなり充実しているみたいですね
ドキュメントよく読んで、何を使うべきか検討してみます
ありがとうございました
609です。たびたびすみません GET /test/offlaw.cgi/[板名]/[スレッド番号]/?raw=0.0&sid=[セッションID] HTTP/1.1 ↑これはheaderに加えなくていいんですよね?
馬鹿には無理
619 :
デフォルトの名無しさん :2012/06/03(日) 01:54:06.51
4進数の桁1つと、2進数の桁2つで000から311までを表示させたいのですが すべて311の表示になってしまいます どこが間違っているのか分かりません教えてください p = 4 * [2 * [2 * [3 *[0]]]] i = 0 while i < 4: j = 0 while j < 2: k = 0 while k < 2: p[i][j][k][0] = i p[i][j][k][1] = j p[i][j][k][2] = k k = k + 1 j = j + 1 i = i + 1 i = 0 while i < 4: j = 0 while j < 2: k = 0 while k < 2: print p[i][j][k] k = k + 1 j = j + 1 i = i + 1
620 :
デフォルトの名無しさん :2012/06/03(日) 01:56:44.77
見にくいので訂正します p = 4 * [2 * [2 * [3 *[0]]]] i = 0 while i < 4: j = 0 while j < 2: k = 0 while k < 2: p[i][j][k][0] = i p[i][j][k][1] = j p[i][j][k][2] = k k = k + 1 j = j + 1 i = i + 1 i = 0 while i < 4: j = 0 while j < 2: k = 0 while k < 2: print p[i][j][k] k = k + 1 j = j + 1 i = i + 1
>619-620 # p = 4 * [2 * [2 * [3 *[0]]]] p = [ [ [ [ 0 for i in xrange(3)] for j in xrange(2) ] for k in xrange(2) ] for l in xrange(4) ]
622 :
デフォルトの名無しさん :2012/06/03(日) 02:12:30.90
くだらねぇもの貼るなよ。 半年振りのレスがこれかと思うと泣けてくる。
スレタイの「くだ」って何だっけか
ザ・マルチ
てすと
マルチというか、ただの能なしbot >> 623
「くだ」は「くだらない質問はここで」の略 くだらない回答は許されておりません
腹が下る
プロプログラマーの皆さんにはくだらない質問かもしれませんが教えてくださいスレ
本スレにも来てたから分かりやすい、というかそもそも意味が通じてないしな
川崎重工と東芝、台湾で新幹線48両を受注
川崎重工業と東芝は24日、台湾高速鉄道から、東海道・山陽新幹線で運行されている「700系新幹線」をベースとした
高速鉄道車両を共同受注したと発表した。受注したのは4編成48両で、受注総額は非公表だが190億円程度とみられる。
川重と東芝は、2000年12月に台湾で、三菱重工業や三菱商事など国内7社連合で
360両の新幹線とシステムを3320億円で受注しており、納入実績が評価されたという。
台湾高速鉄道は、海外の高速鉄道としては初めて新幹線を採用し、07年1月に営業運転を開始。
15年には台北〜南港駅を結ぶ5.7キロの路線延長を予定しており、今回、受注した車両を導入する計画としている。
http://sankei.jp.msn.com/economy/news/120524/biz12052417470033-n1.htm
プログラム書ける人は意思が強い
マジかよ誘惑と戦ってくる
今日も原因不明のエラーと戦って日が暮れた
俺は「ごめんテストデータ間違ってた」とか言われたわ 出勤したくない
638 :
デフォルトの名無しさん :2012/06/05(火) 13:58:48.07
pythonを勉強したら何が作れるようになるの?
ラーメンタイマー
pythonはcのように初期化子のない変数は宣言できないないのですか?
できないないのです
Noneでも突っ込んでおけ
グローバル変数を宣言する時はNoneを入れておけばいいのですか。ありがとうございます。 Noneの型は気にしなくてもいいのですか?つまり暗黙の型変換が行われるということでしょうか。 動的型付けの言語の勉強始めてなのですがいろいろと分からなくて。 すみません。
>>> a = None >>> type(a) <type 'NoneType'> >>> a = 1 >>> type(a) <type 'int'>
pythonすげー(´Д` ) cをちょっとかじって、pythonでもopengl使えるというのを知って、pythonの勉強をつい最近始めたのですが...... すげー ありがとうございます!
連投すみません。 それから、pythonはcとは異なりインタプリタなので、main()を書かなくてもいいようですが、プログラムの流れが明確になるように、main()のような関数を書くというのはどうなのでしょうか。
全然構わない
ありがとうございます! さっそく勉強してきます。 文字列の比較や結合が簡単に出来てすごい感動(´Д` )
今時のメジャーな言語で文字列の比較や結合が面倒なのは C/C++ 位じゃね?
c++のstringクラス使えば同じようなことできるけど、cにはないからなあ。 変にこだわってstrcpy()とかstrcat()とか自作すると、自分のやりたいことから遠ざかったりする思い出w
文字列比較で感動ってすごいな 何時の時代の人? .NETとか使ったら失神するんじゃね
C一筋云十年。 ずっと組み込みをやってきましたが食えなくなりました。 なーんて、よくある話だろう。
>>643 変数には型がない
だからNoneが入っている変数にその後まったく別の型の値を入れることもできる
ただしC言語などとは違い、入れた値のほうは自分の型をキッチリ把握している
>>> a = None >>> type(a) <type 'NoneType'> >>> type(b) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'b' is not defined aをnot definedにすることは可能ですか?
del a
del a
del a
善意の回答者が多すぎて泣いた
exit(1)
raise SystemExit(1)
661 :
デフォルトの名無しさん :2012/06/07(木) 20:05:54.55
>>655-
>>657 delaっ
delaっ
delaっ
バーニングハ〜
既出ですまんが、本当に2.X は無視して3.xに全力注いでいいんですか?
663 :
デフォルトの名無しさん :2012/06/08(金) 13:24:48.36
あんた初めてなんか? 3.x を無視して 2.x に全力で取り組め
2.Xで予習しつつ3.xに全力を注げ
665 :
デフォルトの名無しさん :2012/06/09(土) 22:54:07.79
python2.7 utf-8です。 >>> a="a" >>> a 'a' これはこうなるのに >>> a="あ" >>> a '\xe3\x81\x82' これが「あ」ではなく、utf-8の「あ」のコードだと思うのですが、それになってるのはなんででしょうか? printを使うと「あ」がでてきました >>> print(a) あ ちなみに >>> print('\xe3\x81\x82') あ >>> print('あ') あ となりました。
対話コンソールの出力は特殊なの
print だと 'あ' と u'あ' の結果が (勝手にdecodeされて) 一緒になるので区別出来ないよね
昨年、台湾の雑誌『遠見』が20歳以上の1000人にアンケートしたところ
「一番尊敬する国」「一番移住したい国」などの筆頭に日本が挙げられた
そうだ。
そういえば以前、台湾に旅行をした際に、現地で知り合った人に好意的に受け
入れられ、台湾は「親日」なんだと実感したことがある。
でも、どうして台湾は親日なのだろう。
産能短期大学講師で『日本に恋した台湾人』などの著書で知られる謝 雅梅さん
にお話を伺った。
「やはり歴史背景は大きいですね。日本統治時代(1895〜1945年)、
その目的はどうであれ、日本が台湾のインフラを整備したことは今でも高く
評価されてます。72歳になる私の父は、小学校4年生まで日本の教育を受け
ましたが、不思議と日本人に立ち居振る舞いも似てくるんですね。いわゆる
日本の頑固親父と一緒(笑)」
では、65年生まれの謝さんや若い世代にも親日派が多いのはなぜ?
「私の世代の場合、反日教育も受けましたが、父の世代からいい印象も聞いて
います。日本のテレビ番組や雑誌なども昔からあって、よく見てました。今、
20代くらいの若者には、日本の音楽やファッション、マンガやゲームなどの
サブカルチャーが人気です。彼らの世代になると、もう日本との歴史をよく
知らないんですよ。台湾も、日本のようにアメリカの影響は大きいんですが、
やはり同じアジアの日本文化の方が肌に合う。これは一過性の流行ではなく、
親日感情は昔から繋がっているんです」(同)
http://headlines.yahoo.co.jp/hl?a=20070802-00000002-rec_r-int
指定されたページを表示できませんでした。 記事がありません。すでに削除された可能性があります。
マジかよ
20070802 ニュースサイトなのに過去記事に辿れないなんて糞新聞
プログラム書ける人はポジティブ
照れるなー
pass
教えてください。 VLCでMPEG2TSをRTSP配信状態にしてPythonで受信するようにしたいのですが socketで接続まではできていると思うのですが、そのあとでMPEG2TSのデータを 取り出すには何をしたらよいでしょうか?
水車を何百年もかけて結局普及出来なかった国のお話 エベンキ朝鮮猿の知能が犬や猿以下だったことの証明www ↓中国と日本から何度も輸入しているのだが・・・ 1429世宗11年12月3日 日本の水車が凄いと報告 1430世宗12年9月27日 水車を造ろうとする 1431世宗13年5月17日 「中国も日本も水車の利を得ているが我が朝鮮にはそれがない」 1431世宗13年11月18日 日本と中国の水車の研究の記述が散見 1431世宗13年12月25日 水車導入を試みる 1451文宗元年11月18日 20年かけて水車の導入失敗 1488成宗19年6月24日 水車導入の試み(成否不明) 1502燕山君8年3月4日 水車導入の試み(成否不明) 1546明宗元年2月1日 水車導入の試み。琉球(沖縄)と中国から福建式水車輸入 以後百年間水車の記述無し 一方お隣り日本では、鉄砲伝来後3年目にはすでに量産体制。 1650孝宗元年5月15日 水車導入の試み 30年記述無し 一方お隣りの日本では、鉄砲量産10万丁 1679肅宗5年3月3日 水車を造らせたと記述。そして70年記述無し 1740英祖16年4月5日 水車など無くなりました『孝宗大王嘗頒遼瀋水車之制於外方, 今無見存者』 1740英祖16年11月20日 水車を造らせたと記述(18世紀時点でわざわざ記録に残す程?) 1764 1763-64年の朝鮮通信使「日東壮遊歌」(淀城の水汲み水車の感想) 「その仕組みの巧妙さ見習って作りたいくらいだ」と記述 1795正祖19年2月18日 水車之制について盛んに出てくる。つまり試作中 1811純祖11年3月30日 ここの記述で水車なんか必要なのか?と書かれており全く普及していない事が読み取れる
>>678 嫌韓はよそでやってくれよ、この暇人歴史オタク!
Pythonで50Gぐらいをメモリに載せてみようと思うのですが可能でしょうか? Python(64bit2.7系/OSはUbuntu64bit)を考えています 手持ちに50GB載せられるハードが無いので一式買おうと思うのですが、 もし買った後にダメだとなると厳しいので事前に知っておきたいです
駄目
>>680 Windowsで30Gくらいでよければ試せるんだけど
試したいコード書いてくれない?
下のは怒られた
>>> l = range(1024*1024*1024*20)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: range() result has too many items
>>682 ありがとうございます。基本的には単純なリストになります。
リストの中にlxml(
>>484 )が返す特殊オブジェクトを数十万件格納したいと考えています。
今の環境はMac(64bit)の12GBメモリなのですが10GBぐらいまではpythonの一つのスレッドで問題無く動きました。
それ以上になるとHDDのスワップを使い出します。
pythonが一つのスレッドで扱えるメモリ最大量がわかるとありがたいのですが...調べてもなかなか情報がありません。
もしメモリを積めば積んだだけpythonで使えるようなら、思い切って64GBメモリのPCを自作してみようと思ってます。
684 :
683 :2012/06/12(火) 21:26:15.95
結局コードは以下のようなリストになります list = [o1 , o2 , o3 ,o4 ...... , on ] 一つのオブジェクトoはだいたい300KBぐらいのサイズで、これを数十万件ぐらいリストにしたいのです
力の入れどころ間違えてるよね
>>683 オンメモリのsqlでも使った方がいいんじゃね
ホームラン級の(画像ry
>>684 う〜ん48G積んだマシンで他にもプロセス動いているから31G空き状態で
>>> l = range(1024*1024*1024)
をやってpython.exeが32Gを超えたあたりでスラッシング始めたのでプロセス殺した
テスト用のコードが出せるなら試すけど、そうでなければ自分でやってみたほうが早いかもね
XMLのパース速度が遅いってんなら当たり前の話なので たぶんSQLiteをオンメモリじゃなくHDDに吐いても十分間に合う類の事例
691 :
683 :2012/06/12(火) 23:55:02.06
皆さん突っ込みありがとうございます。
自分の質問の仕方が悪くてlxmlに焦点があたってしまっていますがそこは関係が無く、
「超大規模データをリストやハッシュなどで持つとどのあたりでPythonの限界に達するのか、
あるいはPython自体に限界は無くてメモリ容量に近いところまではいけるのか」というのが質問の本意なのです。
>>687 >>690 lxmlのオブジェクトはPickleできないのでストレージには保存できませんし、memcached等にも保存できません。
そこで苦肉の策として 1.使うたびにパースする 2.メモリに載せておく の2通りしか無いのです。
>>685 SAXですか!それはいいかもしれません。DOMが便利なのでそれしか頭にありませんでした。試してみます。
>>689 l = range(1024*1024*1024)
自分もこれをやってみたのですがメモリを食いつぶした後はOSがswapを使い出しました。
つまり積んでいるメモリの限界近くまではpythonが処理してくれるということなのでしょうか。
今の所そういう結論に至っています。お手を煩わせてすいませんでした。ありがとうございます。
ばらしてDBにつっこめばいいじゃん
頭固いって言われない?
いや、できるかぎり処理対象をメモリにのっけて高速化しようってことじゃないか redisとか使えそうだけどどうなんだろ
永続化しづらいorできないから、いかにメモリにのせて高速に処理するかって話なんじゃないの lxmlは使った事無いからよく知らないけど組み込み型以外のオブジェクトは永続化できないでしょ
SAXならいいかもとか言っているし、もっともっと低次元な問題だと思う
とりあえずXMLがどんな構造なのか分からんとね
お前らが馬鹿ということはよくわかった
質問に答えられない人が質問内容と関係無いところに突っ込んで悦に浸るスレと聞いて
pass
プログラム書ける人は懐が深い
問題分析よりも現金投資の方が早いと踏んでるならそれで良いやんけ 貧乏人じゃないんだよ
lxmlオブジェクトってそんなにいいものなのか?
メモリに載せちゃった方が速いから全部載せたいですっていう質問者に対して 「HDDに保存しなさい」とかアドバイスしてて滑稽極まりないんだが いつから質問スレはこんな意味不明な烏合の衆になったわけ?
>>683 本スレより引用
>CPythonのobjectだったら、最大メモリ量による制限はないよ。
>メモリサイズを管理してる変数のoverflowチェックが実質的な制限。
>(intだったら桁数、リストだったら最大要素数の様な制限等はある)
馬鹿には無理
sqliteでも使えばいいじゃん メモリでつかe
何が何でもlxml使うんだよ 例え魂取られるとしてもだ それ以外の選択肢はない あるものとは認めない 知らない
絶対的lxml
俺は面倒くさいんだ 最初に見当をつけた方法で最後まで押し通すのが好きだ 邪魔をするな 金ならいくらでもあるぞ
YAML試してみ 標準object以外もserializeされるから
ちなみに300KBが数千件をどうやって:memoryなSQLiteで扱うつもりなんだ
XMLって冗長なんだよ 知ってた?
自殺する人の意思を否定するなら、そいつの人生全部背負う覚悟がいるんだよ
お前らは
>>683 の全てを背負い込む覚悟があってlxmlを否定してるのか?
寒いよ
梅雨寒
HTML等って言ってるからSQLiteなんか使えるか怪しいわ 素人が
pass
720 :
デフォルトの名無しさん :2012/06/15(金) 21:31:43.12
Python でGUIアプリ作るにはライブラリ追加してそのライブラリの関数使えばいいの? Cしか知らないからわからん
721 :
デフォルトの名無しさん :2012/06/15(金) 21:54:11.10
追加したくないなら Tk 追加して良いなら wxPython とか PyQt とか
GUI作ろう → 長く使いそう → なら3.xにしよう → 豪華なGUIライブラリがない → ならCUIでいいや
pygameでpython3のguiを作ろうかと思ってる
windowsならautohotkeyでフロントエンド作れば捗るぞ
ところでpython2と3って同一の環境に両方インスコできる? win7 64bitですが
できる。 Python x.y.z のうち y が違っていれば共存できる。
ありがとう
ってつたえたくて
>>723 PyQtなら 3 で動くよ。PySideの方は知らないけど。
ericってIDEのversion 5 が python3/Qt4 ベース
eric って重たいでかすぎ
質問なのですがPythonの変数はバッファオーバーフローを起こすんでしょうか? ある変数にUnicode型の文字列15万文字ほど食わせると停止する気がします
734 :
デフォルトの名無しさん :2012/06/21(木) 21:30:06.55
>>734 スワップ領域が一杯になってしまっているんでしょうか?
とりあえず領域を破壊してるのは確かだと思うので分散して処理させるべきなのか・・・
15万文字ってすごそうだが、高々 150k文字 1MB にも満たないのにスワップとか、ドンだけ貧弱なマシンだよ
text = text + "hoge" こんなことやってると死ぬかも
>>737 これやってました。。。
でも一度で処理できなかったらこれ以外に文字列連結する方法あるんでしょうか?
何度も申し訳ない
バッファオーバーをバッファローに空目してまたバッファローか!という条件反射が起こった
バッキャローダメルコウンコレガプラネックソエロデータ
>>738 適当書くけどJavaのString/StringBufferと同様なら
リストに文字を追加してて、文字列がほしいところで "".join(リスト)
2.x での + による unicode文字列連結のパフォーマンス問題かな。 下のコードの方が時間かかる。 buf = "" for _ in xrange(300000): buf += "a" buf = u"" for _ in xrange(150000): buf += u"a" 文字列連結の他の選択肢 StringIO(cStringIO, io.StringIO), bytearray, 一時ファイル等に書き出す tmpfile, mmap
P = A xor B のとき C(out) = A・B + (A + B)・C(in) が C(out) = ~P・A・B + P・C(in) になるそうですが C(out) = A・B + P・C(in) じゃだめなんですか?
仕様的な文句はここで言っても意味ないぞ オランダ語覚えろ
馬鹿には無理
>>745 そんなことのために覚えるやつは誰もオランおっとー?
仕様がねぇなぁ
>>741-742 遅くなりましたがアドバイスありがとうございました!
色々と試してみたのですがなかなか上手くいかないので一度他の部分のコードも含めて見直してみます。
色々と教えていただき大変勉強になりました
numpy で一次元 array の線形補間をしたいとき たとえば a = numpy.array([10, 20, 30]) を a = numpy.array([10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]) みたいに拡張するには どうすればよいのでしょうか?
numpyじゃないけどこれで足りる? >>> L = [10, 20, 30] >>> range(L[0], L[-1] + 1, 2) [10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
Pythonの書き方を覚えれば簡単なゲーム等が作れるのですか?
簡単が何を指すかによるが、それなりに
勉強し始めたばかりなのでコマンドプロントで日本語を表示させられるレベルなのですが… ゲーム等はどうやって実行するんですか?
ここで全部指導はできんけど 「Pythonで簡単なゲームを作ってみよう」みたいなサイトなり本なりあるんじゃね? 少なくとも英語なら必ず1つや2つあるはずだから、それ見ながら作ってみ
PyGameの本なら日本語版も出てたはず。チュートリアルの邦訳なんかもあるよ ところでPyGameで作られてるゲームで、これはよく出来てる、お手本になる、っていうのある?
>>755 ですが
まだ、中学すら卒業していないので英語は読めないんです
まぁ、ゲームというより便利なソフトが作れたりプログラミングの勉強の為にと思ってます。
書籍やサイトを探してみます。
どうもありがとうございました。
中学生時分からこんなスノビーが多い言語触ってると頭が狂ってしまうぞ
760 :
デフォルトの名無しさん :2012/06/29(金) 23:05:03.27
あ、Dive into Pythonに組み込みモジュールって書いてありました。
>>> import sys
>>> sys.modules['sys']
<module 'sys' (built-in)>
>>> sys.modules['re']
<module 're' from '/home/umedoblock/local/lib/python3.2/re.py'>
>>> sys.builtin_module_names
('__main__', '_ast', '_codecs', '_collections', '_functools', '_io', '_locale', '_sre',
'_string', '_symtable', '_thread', '_warnings', '_weakref', 'builtins', 'errno', 'gc',
'imp', 'itertools', 'marshal', 'operator', 'posix', 'pwd', 'signal', 'sys', 'xxsubtype',
'zipimport')
./Python/sysmodule.c
(
http://uni.2ch.net/test/read.cgi/operatex/1337510429/586代行 )
>752 ありがとう 事故魁傑しました >>> import numpy as np >>> x = np.arange(1, 4) >>> y = x * 10 >>> x array([1, 2, 3]) >>> y array([10, 20, 30]) >>> np.interp(np.arange(1.0, 4.0, 0.2), x, y) array([ 10., 12., 14., 16., 18., 20., 22., 24., 26., 28., 30., 30., 30., 30., 30.]) >>> [int(_) for _ in map(round, np.interp(np.arange(1.0, 4.0, 0.2), x, y, right= -99)) if _ > 0] [10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
こっちのがいいな >>> map(int, map(round, np.interp(np.arange(1.0, 3.2, 0.2), x, y))) [10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
これにやられた >>> type( '%s' % u'hoge' ) <type 'unicode'> >>> type( '{}'.format(u'hoge') ) <type 'str'>
formatのバックポートなんかいらんかったんや! %最高や!
%がシンプルでいいよね。 format()で8文字取るのがどうにもウザい。
挙動自体はformatの方がいいと思うけどね これの暗黙の変換はいつもハマる
どちらかというと、勝手に型変わる方が好ましくないと思うけど from __future__ import unicode_literals
pythonで*.wavファイルのデータを再生したい。 ファイルから直接再生する訳じゃなくデータをpythonで加工して再生したい。 中間ファイルの保存はしたくない。 なるべくOSや環境依存にはしたくない。 winsound とか ossaudiodev とか使うと思うのですが良くわかりません。
pygameかな
なにがしたいの?
>>770 winsound,ossaudiodev共にrawデータの再生可能だけど、双方とも環境依存。
信号処理とかやってるなら、用途に一番合いそうなのは PyAudio
pygameはrawデータを再生可能(@see pygame.sndarray, pygame.mixer)
フロントエンド(GUI)も合わせて作りたいなら検討してみる余地あり。
audiotools や pygletでは、(API眺めた限りでは)low-levelなレイヤまで降りる必要があるので、
ある程度内部が分かってないと難しいかもしれない。
AVbin(pygletが利用)は、デコーダのライブラリなので、rawデータしか扱わないなら不要。
775 :
【大吉】 :2012/07/01(日) 21:21:18.26
>>774 ありがとうございます。
PyAudioについてこれから調べて見ますが、
日付が変わる前にお礼しておきます。
大吉ワロス
>>774 とりあえずこれで逝けました。あとは色々遊んで見ます。
import sys, wave, pyaudio, progressbar
chunk = 1024
def main(fname):
wf = wave.open(fname, 'rb')
p = pyaudio.PyAudio()
stream = p.open(format = p.get_format_from_width(wf.getsampwidth()),
channels = wf.getnchannels(), rate = wf.getframerate(), output = True)
nframes = wf.getnframes()
count = 0
widgets = ['%s(%s): ' % (fname, nframes), progressbar.Percentage(),
' ', progressbar.Bar(marker=progressbar.RotatingMarker()),
' ', progressbar.ETA(), ' ', progressbar.FileTransferSpeed()]
pgs = progressbar.ProgressBar(widgets=widgets, maxval=nframes).start()
while True:
data = wf.readframes(chunk)
if data is None or data == '': break
count += len(data) / 4 # 2bytes * 2(LR)
pgs.update(count)
stream.write(data)
pgs.finish()
stream.close()
p.terminate()
if __name__ == '__main__':
if len(sys.argv) < 2:
print 'Plays a wave file.\n\nUsage: %s filename.wav' % sys.argv[0]
else:
main(sys.argv[1])
インデントもまともに貼れない馬鹿か
え?これHTMLソースなの?
>>781 HTMLじゃなきゃHTMLソースも見れない云々って言う意味ないじゃん
HTMLソースでも専ブラのポップアップでも閲覧者に一手間要求する時点でよろしくないでしょ
それどころか質問のソースのインデントが失われている場合には
ポップアップしてエラーの原因がようやくわかるなんてことも度々ある
もっとも
>>777 は後の参考になるようにわざわざ貼ってくれてるので罵るのはどうかと思った
おもすれぇこれ
>>777 コードの投稿自体は歓迎だけど、長かったりインデントが必要だったりする場合は
ideone,pastebin,codepad等のサイトへお願い
折角コード張ってくれたので、ちょっとだけ便利なtips紹介
データ読み込みのループは、2引数のiter関数を使うとすっきりするよ。
while True:
data = wf.readframes(chunk)
if data is None or data == '': break
...
for data in iter(lambda:wf.readframes(chunk),''):
...
----
16bitsステレオ決め打ちっぽいので、24bitsで録音したwavを読み込むとプログレスバーがValueError
定数 4 の所は wf.getnchannels() * wf.getsampwidth() で求めるとモノラルや他のサンプルサイズに対応可。
>>777 wav が 2ch ステレオなら
stream.write(data)
の行を
d = np.frombuffer(data, dtype='int16') # wf.getsampwidth() 決め打ち御免
a = [((d[n-1] - d[n]) if n % 2 else (d[n] - d[n+1])) for n in xrange(len(d))]
stream.write(np.array(a, dtype='int16').tostring())
にしたらカラオケになる
nullpo
なるぽ?
あなたのまちをいろどるほっとステーション
みんなのぱいちんくん、みんなの
Pythonポケットリファレンスが全然リファレンスになっていない事に腹が立ちます。
同意
ポケットにも入らねぇ
というわけで技術評論社さんには改訂版ポケットリファレンスの出版を求めます。
あなたのまちをいろどるほっとステーション
辞書配列の特定の要素をキーにデータを分類したいです。 例えば [{'name':'nameA','data1':data},{'name':'nameA',,,,},{'name':'nameB',,,}] というデータを {'nameA':[data1,data2,],'nameB':[data3,data4]} のように任意の要素'name'ごとに辞書の中に入れたいのですがどのように記述したらいいでしょうか?
data1 とは 'data1' の data のことかな?
ありがとうございました。 予想以上に複雑な操作になるんですね。 ゆっくり勉強させていただきます。
def kansu(): print (x) x = 1 kansu() これをやると1が表示されるんですが Pythonの変数ってデフォでグローバルなんですか?
>>805 ありがとうございます。faqでしたか。
多数のパラメータを必要とする関数に
引数を経由せず直接変数を引き渡せるのは魅力ですが
ちょっと恐い部分もありますね。
気をつけます。
def kansu(): x = 2 print (x) x = 1 kansu() してみりゃ判る
>多数のパラメータを必要とする関数に >引数を経由せず直接変数を引き渡せるのは魅力ですが 病気だな
副作用を理解できるならおそらく超初心者ではないので今はOK
# coding: sift_jis print"これしか出来ないのですがどうやって勉強すればいいですか?" print"プログラミングは初めてです。本を買った方がいいですか?それともどこかのサイトで十分ですか?"
関数内関数でならよく使うよ>外の変数を引数経由せず # @see closure 残念ながら、モジュール・トップレベルでの関数定義だと外の変数は クロージャにはならずグローバル変数参照になるけど。
モジュールレベルの名前空間に登録する(変数も関数もimportしたュールも) と理解できればすっきりするのだが。
Javaしか経験したことのないPython勉強中の人間ですが、質問させてください。 他人のPythonのプログラムを見ていると、複数の値を返す場合、タプルを使っていることがよくありました。 例えば、色(RGB)を返す関数は戻り値が(10, 20, 30)の様になっており、戻り値を受け取る側は (red, green, blue) = 色を返す関数()のように使っていました。 2点疑問点があります。 疑問1 Pythonでは複数の値を返す場合、DTOを作ることはあまりしないのでしょうか? 例えば、上記の場合、Colorなるクラスを作ったりしないのでしょうか? 疑問2 上記の関数の戻り値のうち、redのみ使いたい場合、どう書くのがいいでしょうか? 上記の書き方だと、使わないgreen, blue変数ができてしまいます。 eclipse等をつかうと、green, blue変数に警告がでるので、よくない気がします。 よろしくお願いいたします。
いやです
>>814 疑問1 の解答
color = 色を返す関数()
で充分でしょう。
クラスを作ることもあるし作らないこともあるだけかと。
疑問2 の解答
color = 色を返す関数()
として color[0] で参照。
どうしても red という名前が欲しければ named tuple でどうでしょう。
red, _, _ = get_color()
>>814 クラスを作る意味がなければ作らないってだけでしょうね。
タプルで済む戻り値を返すためだけ作る意味はないと思います。
red = get_color()[0]
codecs.lookup() の返り値とか、昔はタプルだったのに 今は名前でもアクセスできるようになっているものが いくつかあるね。
821 :
デフォルトの名無しさん :2012/07/10(火) 10:37:28.73
>817 これ時々目にするけど意味あんの? 変数の消費は防げても実行効率は変わらんでそ?
>>814 >>> a, *_ = (100, 200, 300)
>>> _
[200, 300]
>>> a
100
a, b, c = 1, (2, 3), 4 a, b, c = 1, ((2, 3), 4), 5 a, (b, c), d = 1, ((2, 3), 4), 5 perlとかと違って結構融通利くんだな
ライブラリやフレームワークの提供してるColorクラスを使ってるので 自分で定義することはあまりないけど、DTO用途に使うとしたら collections.namedtuple に1票 from collections import namedtuple Color = namedtuple("Color", "red,green,blue") print(Color(0xff, 0, 0).red) 他のコードの気になる点 * color[0] はタプルの内容(RGB)が暗黙的 (=> "Color"より"RGB"と命名した方が多少具体的) * tupleのunpackは不要な変数代入がある (用途によっては無視していい程度のコストたと思うけど、color[0]に比べると冗長)
immutable でなくても問題ないなら dict 返すのでも良いんじゃない。
読みこみしかしないのならimmutableにしたいしcolor['red']みたいにアクセスするのも冗長 メンバがr, g, bぐらいしかないならタプルで足りる それはともかくDTDって何の略?
JSONにしている漏れは勝ち組
>>828 ahoo 知恵遅れによると
Data Transfer Object
>>830 あー、DTDじゃなくてDTOなのか。どうもありがとう
ADT (Abstract Data Type) のことかとも思ったけどそういう用語があるのね
Java厨ならxml一択だろ常考
814です。 回答ありがとうございます。 色々と知識を増やすことが出来ました。 個人的には、named tupleによる実装に興味がわいてきました。 参考にさせていただきます。 また、質問等ありましたら、よろしくお願いいたします。 以上
>>828 メソッドもあるし、必ずしも冗長でもないんじゃね。
実際にコードを書いてみよう 辞書を返すって時点で気付くと思うけど return (red, green, blue) return {'red':red, 'green':green, 'blue':blue} 冗長じゃないコードがあるなら教えて欲しい
名前が付くというメリットがあるから、冗長ではないでしょ。 いやもちろん namedtuple でいいのだが。 前者はインデックス 0 が red 、1が・・・だという 決まりが別に必要になるわけだから、単純比較はできない。
>836 named tuple でいいのと メリットもある点は ok > 名前が付くというメリットがあるから、冗長ではないでしょ。 「冗長ではない」とは言わなくて、それこそが冗長化によるメリット 国語的には、冗長=無駄って認識で概ね正しいのかもしれないけど 情報系の用語には「冗長化」「冗長性」というのがあって、 しばしば、冗長(redundant=(和訳は 冗長、過剰、余分、重複)) は、無駄(waste) と使い分けられます。 冗長だというのは、余分な部分があるという指摘(タプルと比べて記述が簡潔ではない・過剰にメモリを確保する)で、 冗長化による利点(名前付きアクセス)は否定しない。 同意できる形に言い直すと、こうかな 「メリットもあるので無駄ばかりとは限らない」
「記述量が多い」ってのを「冗長」って言ってるんでしょ?
冗長とは「無駄に記述量が多い」ことであって 単に「記述量が多い」だけで無駄が無いなら 冗長性は無いと言える
>>839 日本語では〜というなら主張は分かるけど、
情報系の用語で「冗長性」って用語の持つ意味を調べてみて
841 :
840 :2012/07/12(木) 12:48:51.63
ん?
性が付くと付かないでは意味合いが違うのだよ
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
周りでパイソンやってるの居な過ぎ。 ruby 2 php 15 c# 3 java 8人 俺の知り合い。
>844 セキュリティ分野に限らず使われてるよ urlは、否定的なニュアンスばかりではないってのを示しただけ。
ファイルへのリダイレクトはどう書きますか。(2)でなく(1)の書き方です。(3)では出来ませんでした。 (1) awk 'BEGIN { print "awk内でリダイレクト" > "file.txt" }' (2) awk 'BEGIN { print "awk外でリダイレクト" }' > file.txt (3) python -c 'print >"file.txt", u"python内でリダイレクト"'
>>848 with open("file.txt",'w') as f:
# f.write(内容)を含む処理
>>847 セキュリティなんて関係ないだろ。
アホな書き込みの url 示されてもねぇ。
セキュリティの場面である。具体的なテキストを見てみよう。 といいつつ耐障害性の話をしてるURLを提示したから お前読んでねえだろとネタにされているわけだけど頭悪くて気付けないよね
間違ってるのがそこだけだから大事には影響ないでそ ネットワークやサーバインフラで冗長性って言うもの なんでそんなつまんないところでつっかかるのか不思議
>>851 > セキュリティの場面である。具体的なテキストを見てみよう。
その url のなかにあるわけだが、ひょっとしてエスパーがいるとでも思ってるのか? (w
>>852 なんでそんなつまんないところで間違ってる web を自信満々で公開できるか不思議
君ほど頭よくないんだよ。よかったね
つーか間違った用語使う人間の語った言葉を信用できるのか?お花畑よ
僕は相手が犯罪者でもいいことを言っていると思えば尊重します。
pyctagsってもう最近のPythonでは使えないんでしょうか angelscript-cpp-interface-generatorというのがpyctagsの部分でエラーが出て動かなかったので googlecodeのプロジェクトページから0.5.0を取って来ましたがダメでした Traceback (most recent call last): File "C:\Users\\Documents\SVN\angelscript-cpp-interface-generator\generato r.py", line 358, in <module> if asig.generateFromFiles(files) > 0: File "C:\Users\\Documents\SVN\angelscript-cpp-interface-generator\generato r.py", line 289, in generateFromFiles tag_file = ctags.generate_object(generator_options={'--fields' : '+afmikKlns Stz', '-F' : None, '--c++-kinds':'+cegfmnpstv '}) File "C:\Python27\lib\site-packages\pyctags\exuberant.py", line 333, in genera te_object line = p.stdout.readline().decode("utf-8") File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xd3 in position 303: invalid continuation byte
996 名前:デフォルトの名無しさん [sage]: 2012/07/13(金) 17:43:34.21 カットシステムの本を買うなということだ。 こういうのって編集者に依るの? オライリーの動物本とかさ、編集者が手直ししているの? PythonでかんたんAndroidプログラミング (-) [単行本] 桑井 博之 (著) この商品の最初のレビューを書き込んでください。 Like (0) 単行本: 237ページ 出版社: カットシステム (2012/07) ISBN-10: 4877832912 ISBN-13: 978-4877832919 発売日: 2012/07 WSGIウェブプログラミング [単行本] 桑井 博之 (著) 5つ星のうち 1.0 レビューをすべて見る (2件のカスタマーレビュー) Like (0) 価格: ¥ 2,940 通常配送無料 詳細 登録情報 単行本: 233ページ 出版社: カットシステム (2012/01) ISBN-10: 4877832882 ISBN-13: 978-4877832889
>>857 間違った用語を使ってるのにいいこと言ってるとか、お花畑満開だな。(w
>>851 耐障害性は情報セキュリティに入ってないのと思ってるの?
いつまでやってんの
含まれていると何か都合がよろしいのですか?
傷ついたプライドが埋められるまで続ける。
はっきり言ってどうでもいいんだけど、 お花畑と息巻いてる人が、本当はお花畑じゃないかと思って、、、
どうでもいいけどコメントはしたいです(キリ
>>865 対人関係に支障の出るプライドは
周りが迷惑するから持たないでくれ。
そもそも傷つくってことは、その程度の固さしかない
チャチいプライドってことなんだから。
その発言もプライドを傷つけるんですが。 センシティブなんですよ、ハゲの頭皮みたいにな。
2chに書き込みばっかりしてると禿げるの早いよ〜
スレチ
冗長性について語った時点でスレチと言わなかったのだから お構いなく続けさせてもらいます
本当に今欲しい物 それはその答えですか?
42です
>>862 > 耐障害性は情報セキュリティに入ってないのと思ってるの?
誰もそんなこと言ってないが、いきなりどうしたんだ?
件の url で言ってたのは、
>> redundancyが最もよく使用されるのは、セキュリティの場面である。
だよ、「最も」って言葉知ってる? (w
ちなみに、セキュリティの分野では、無理やりこじ開けようとしたら、中に
入っているキーとなるデータが流出しないようにデータをわざと破壊してし
まうような、耐障害性と間逆の仕組みを持ったような奴もあったりする。
(対タンパー性)
うるせーよ でもアタック受けてると判断するとルーティング切っちゃうスイッチもありますね
なぜわざわざ掘りおこしたあげく自分の墓穴にするですか
今日暑いでしょ 土の中は冷たいんですよ
Pythonでプログラムの勉強を始めようと思ってます。 おすすめのテキストエディタってありますか?
メモ帳
eric4
マジレスするとPyScripter
>>875 851を読んでも「最も」が間違っているという風には理解できないんだけど、、、
851には「最も」は一語も入ってないし。
いや、その前にコードの冗長性の話をしていて、いきなりセキュリティの話に
変わってあほにしてるのは理解してるよ。
ちなみに俺はURLを貼った人じゃないよ。
あと、もっと冷静になろうね〜。
最も冷静なのは俺だ 馬鹿には無理
ほかでやれカスども
馬鹿には無理
>>886 カスとか言ってる暇があったらネタ投下しろよw
888
危険な領域に突入する
>>884 >851を読んでも「最も」が間違っているという風には理解できないんだけど、、、
>851には「最も」は一語も入ってないし。
いったいどこの琴線に触れたのかわからんけど、なんでそんなに必死なの?
>いや、その前にコードの冗長性の話をしていて、いきなりセキュリティの話に
>変わってあほにしてるのは理解してるよ。
>ちなみに俺はURLを貼った人じゃないよ。
はいはい、そうなんだろうね (棒読み)
>あと、もっと冷静になろうね〜。
お前がなぁ〜 (w
因もうが因まなかろうが口を挟みたいだけの自己主張が強い人って分かれば十分だものね
>>892 草生やして、必死なのはどう見てもお前なんだが、、、
嫌なことでもあったか?まぁ頑張れよ。
>>894 >草生やして、必死なのはどう見てもお前なんだが、、、
はいはい、そうなんだろうね (棒読み)
お前という存在に出会ってしまったことが、、、 すべての不幸の、、、 始まりだっただろうな、、、 なんつて 、、、
、、、←なにこれ Pythoniaならインデントしろ
もしかして: Pythonista
蛇使いがどうしたって
デジタル大辞泉 琴線に触れるの用語解説 - 《琴線は、物事に感動しやすい心を琴の糸にたとえたもの》良いものや、 素晴らしいものに触れて感銘を受けること。「心の―・れる」 なんか素晴らしいことありましたっけ
これは恥ずかしい
>>879 別にどんなテキストエディタでもいいよ、使ってるOSやDEは何?
むしろnotepad++のマクロにPython使ってる
日本語初心者が何かいっとるでー
はいはい、そうなんだろうね (棒読み)
>>892 こういうのを「墓穴を掘る」って言うんだろうねぇ。
はいはい、そうなんだろうね (棒読み)
質問させてください。 あるオブジェクトAがスレッドB、スレッドCからアクセスされるとします。 その場合、オブジェクトAをスレッドセーフにするにはどうすればいいのでしょうか?
がんばれ
オブジェクトAの状態を変化させるメソッドにLockを入れる オブジェクトAをイミュータブルにする
>>912 オブジェクトAはスレッドB、スレッドCからガシガシ状態変化させられるオブジェクトなので、イミュータブルは無理です。
Lockで調べてみます。
他にもアドバイスありましたら、お願いいたします。
mutex
>>910 普通のCPythonなら、基本的にはなにもしなくていい。
グローバルインタプリタロックでロックされるから。
それは迂闊な発言だなあ sys.setcheckintervalが返す命令数で、例え関数の途中でもGILは開放されてしまうよ デフォルトだとバイトコードで100命令ごとにGIL開放されるけど 関数書いたら100命令なんてあっという間だぜ
GIL
atomicかどうかを意識しなくて良くなるだけでもGILはありがたい
該当のコードが実行される時に、毎回猶予が100命令あるとは限らない 当然残り1命令で開放される場合もある 結局の所、アトミック性を持たせなければならない操作が1命令以上必要なら そこはロックを使用しなければならない
へえー ・・・沢山書き直さないとだなあ
内部の状態変化程度なら、GIL頼りでいいんじゃねーの?
i = j + k + l こんなんでも駄目だよ 2命令だから
>>922 なんか勘違いしてる気がするけどローカル変数はどうでもいいんだよ
オブジェクトの状態を変化させるものは全部だよ
内部も外部も関係ない
GILが保障しているのは
>>918 が言っているアトミック操作1命令だけが厳密に分割されずに実行されるということだけ
それが理解できない人は素直にLock使いましょう
GILが100命令でスイッチするってのは 100命令以下ならLock使用しなくていいように、じゃなくて コンテキストスイッチを頻繁に起こすとパフォーマンスが低下するからって理由 曲解しないように
926 :
デフォルトの名無しさん :2012/07/16(月) 02:55:32.75
そもそもGILはインタプリタ実装の都合上存在してるものに過ぎないので、それを当てにしたプログラムを書くなっていう。 そのうち無くなっても知らんぞ。
927 :
デフォルトの名無しさん :2012/07/16(月) 12:35:58.49
re.searchで日本語検索が出来ない・・・
再現コード貼って
>>> re.search(r'あい', 'あいうえお').group() 'あい'
930 :
デフォルトの名無しさん :2012/07/16(月) 12:46:23.96
2chから画像うpスレ検索して表示するプログラムを作ってるんですが,以下のコードでは半角英数では
検索できても日本語だと何も表示せず終わってしまいます.
# -*- coding: utf-8 -*-
import urllib
import urllib2
import re
URL_2ch = "
http://hayabusa.2ch.net/news4vip/subback.html "
word = "画像"
i = 0
for newurl in urllib2.urlopen(URL_2ch).readlines():
m = re.search("(<a(.*?)</a>)", newurl)
if m:
for str1 in m.groups()[0].split('\n'):
if re.search(word, str1) != None:
print str1
>>> print re.search(ur'あい', u'あいうえお').group() あい
import urllib2, re
u = '
http://hayabusa.2ch.net/news4vip/subback.html '
w = u'馬鹿には無理'
for n in urllib2.urlopen(u).readlines():
m = re.search(u'(<a(.*?)</a>)', n.decode('cp932'))
if m:
for s in m.groups()[0].split('\n'):
if re.search(w, s) is not None:
print s
933 :
デフォルトの名無しさん :2012/07/16(月) 13:08:35.29
>>932 なるほどそっちをdecodeしなけりゃいけなかったのか・・・
ありがとうございました.期待通りの動作をしてくれました
えっ? こっちでも動くけど? for n in urllib2.urlopen(u).readlines(): m = re.search(u'(<a(.*?)</a>)', n) if m: for s in m.groups()[0].split('\n'): if re.search(w, s.decode('cp932')) is not None: print s
文字コード揃えればいいだけの話 930の場合はですねえ、wordがUTF8なんですよ だから引っかかるわけがない
馬鹿には無理
馬鹿には無理、はツンデレだった件
>>936 可愛いのう、可愛いのう
最近はホットパンツが短くなって嬉しい
素直に「ありがとう」と言えない
>>930 であった。
Dive Into Python 3のpdfないかな? 出来ればmobi形式が尚のこと嬉しい
見覚えある どこで拾ったかは忘れた
>>981 with tarfile.open('a.tar.gz', 'r:gz') as tar: [tar.extract(n, 'C:/temp') for n in tar.getnames()]
|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
PyPy
>>944 立てられなかった
>ERROR:新このホストでは、しばらくスレッドが立てられません。
>またの機会にどうぞ。。。
>>948 俺も駄目だったよ
起てようとして起たないって辛いなぁ。。。。
ある程度大きい辞書型のデータを保存しようとすると memoryerrorになってしまうんですが、どうにか保存する方法ってありませんか? 辞書を3分割してもダメだったので他の方法を探しています。
次スレ立ったし埋めよう
シャープ、5型のタッチパネル上で"書いて覚える"電子辞書「受験Brain」 2012/07/19
ttp://news.mynavi.jp/news/2012/07/19/082/ シャープは7月19日、モバイル学習ツール「受験Brain(ブレーン) PW-GX500」を発表した。
8月8日発売で価格はオープン。推定市場価格は35,000円となっている。
主に大学受験生をターゲットにした、電子辞書「Brain(ブレーン)」シリーズの派生モデル。
従来式の電子辞書に備えられていたキーボードを省略することで薄型化が実現されている。
シャープの従来モデル「PW-A9200」「PW-A7200」「PW-G5200」「PW-G4200」と比べて、厚さを約46%も削減した。
利用法としては、タッチパネルを用いた"書いて覚える"という暗記学習が主に想定されている。
画面は5型と大きめサイズなので、画面上部に単語帳コンテンツを表示させながら、
付属のタッチペンを使った書いて覚える動作を画面下部で行うことが可能だ。
また、画面はカラー液晶方式なので、英単語は緑色・和訳は赤色(英単語コンテンツの場合) というように色分けされた表示で、学習効率の向上も期待できる。 また、大きめサイズのカラー液晶を活用した、動画学習コンテンツの視聴も可能だ。 購入時点で、大手予備校の代々木ゼミナールのセンター試験対策講座 (英語・数学IA・古文、各60分×10回分)を収録。 プリインストールされた講義動画は1講座100時間の視聴制限が設けられているが、 専用サイト「ブレーンライブラリー」から追加の講義をダウンロードすることができる。 なお、ブレーンライブラリーからは、講義以外のコンテンツもダウンロード可能だ。 そのほか、国語辞典や英和辞典といった受験生必須のコンテンツから、 「飯塚センター漢文講義の実況中継」(語学春秋社)や 「代ゼミのセンター照準シリーズ 〜英語編〜」(アスク)といった人気の受験参考書コンテンツまで、 豊富な51コンテンツを収録。 ハードウェアの仕様は、ディスプレイが5型・480×320ドットのカラー液晶方式で、 本体メモリが約1GB、利用可能な記録メディアがmicroSD/SDHCカードとなっている。 電源はリチウムイオン充電池で、連続表示時間は約150時間(明るさ「3」時)だ。 サイズはW151×D99.6×H10.5mm(タッチペン含む)、 重量は約220g(充電池・タッチペン含む、カード含まず)だ。 なお、12桁表示が可能な電卓機能も内蔵されている。
このスレが埋まるまでに何週間かかるんだろうねぇ
埋めるスクリプトをpythonで書けばいい
保存しようとする前にmemoryerrorになると思うけど、 まずどうやってどこに保存しようとしているのか言おうか。 pickle よく分からんけど、簡単にはこんな感じかな? f = open('/tmp/dict.pickle', 'wb') big_L = [None] * (1 << 20) # 書き込むためのbuffer領域を確保 big_dict = {} try: do_something() except memoryerror: del big_L # 書き込むためのbuffer領域を解放 f.write(big_dict) del big_dict big_dict = {} big_L = [None] * (1 << 20) # buffer 領域を再確保 goto try f.close()
>>956 忍法帳になったときに面倒臭くなってやめた
/ .\ / .\ \ / \ / \ ___________ . / \ ./ \ / | \/ \/...| | | | | | | | | .._ |_| |_|_.. | | さあ‥ 逝こうか‥‥ | | | | | | | | | | | | | | | |/ ..\| | | | | | .._|/| _ _ _ _ _ _ _ _ ...|\|_ / ..| | _−_−_−_−_− _ | | \ | |/_/━ ━ ━ ━ ━ ━\_\| | .._| /_/━ ━ ━ ━ ━ ━ ━ \_\.|_ /_/━ ━ ━ ━ ━ ━ ━ \_\ / /━ ━ ━ ━ ━ ━ ━\ \
960 :
デフォルトの名無しさん :2012/07/19(木) 18:24:21.72
゙'. '.;`i i、 ノ .、″ ゙'. ,ト `i、 `i、 .、″ | .,.:/"" ゙‐,. ` / ` .,-''ヽ"` ヽ,,,、 ! 、,、‐'゙l‐、 .丿 : ':、 、/ヽヽ‐ヽ、;,,,,,,,,,-.ッ:''` .,"-、 ,r"ツぃ丶 `````` ../ `i、 ,.イ:、ヽ/ー`-、-ヽヽヽ、−´ .l゙`-、 _,,l゙-:ヽ,;、、 、、丶 ゙i、,,、 ,<_ l_ヽ冫`'`-、;,,,、、、、.............,,,,、.-`": │ `i、 、、::|、、、ヽ,、、. ```: : : ``` 、.、'` .|丶、 .l","ヽ、,"、,"'、ぃ、、,、、、、.、、、.、、、_、.,,.ヽ´ l゙ ゙).._ ,、':゙l:、、`:ヽ、`:、 : `"```¬――'''"`゙^` : ..、丶 .l゙ `ヽ ,i´.、ヽ".、".、"'ヽヽ;,:、........、 、、...,,,、−‘` 、‐ |゙゙:‐, ,.-l,i´.、".`ヽ,,,.".` `゙゙'"`'-ー"``"``r-ー`'": _.‐′ 丿 ,! j".、'ヽ,".、".、"`''`ー、._、、、 、._,、..-‐:'''′ .、,:" 丿 ゙l,"`"`''ヽヽ"`"` ```゙'''"ヽ∠、、、、ぃ-`''''": ` 、._./` ._/` `'i`ヽヽヽ`''ーi、、、: : 、.,-‐'` 、/` ``ヽン'`"` : `~``―ヽ::,,,,,,,,,,.....................,,,,.ー'``^ ,、‐'"` `"'゙―-、,,,,..、、 : ..,、ー'"'` : `‘"`―---------‐ヽ``"''''''""
おいやめろよそんなくだらないAAで埋めるなよ(棒読み
先が思いやられるな
つーか早く立てすぎなんだよ980でいいだろ埋め
どうしてこうなった。
お金に困っています どうすれば稼げますか?
2点が与えられたときその2点を結ぶ単純な経路(同じ頂点を通らない経路) が2つ以上存在するかを判定するアルゴリズムと計算量を述べよ。 深さ優先探索とかでしょうか?
グラフも理解出来ないとかマやめたほうが良いよ
今日も雑魚しかいねーな
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
Python使ってる奴って変な奴しかいない
C++でOpenMP使うノリで気軽にforループ内をマルチスレッド化ってできませんか?
Pythonのマルチスレッドについて理解した上で言ってるのか?
マルチスレッドとか言いつつ大半の状態で同時に動かないなんてウンコすぎですよねー
ほとんどIOかイベント待ち専用
リスト内包表記は廃止すべき 読みにくいだけのクソ機能
読みにくくなるほどのコードは内包表記使っちゃダメなんだぞ 適切に使えばあんなに良いモノは無い
内包は無い方が良い、ってか?
な、違法だろ?
滅びろお前ら
RealLibってリンク切れなんだけど 開発者死んじゃったの?
>>981 with tarfile.open('a.tar.gz', 'r:gz') as tar: [tar.extract(n, 'C:/temp') for n in tar.getnames()]
[[tar.extract(n, 'C:/temp') for n in tar.getnames()] for tar in [tarfile.open('a.tar.gz', 'r:gz')]]
糞コード増やすな
>983 は close されないのでダメポ
だれか >951 に答えてあげて
>>985 [([tar.extract(n, 'C:/temp') for n in tar.getnames()], tar.close()) for tar in [tarfile.open('a.tar.gz', 'r:gz')]]
2点が与えられたときその2点を結ぶ単純な経路(同じ頂点を通らない経路) が2つ以上存在するかを判定するアルゴリズムと計算量を述べよ。 深さ優先探索とかでしょうか?
宿題は通報する
オイラーグラフでググれ
2011/3/12 の朝って画像ないみたいだけど停電してたんかな?
2011/3/12 8:30, 8:40, 8:50 のがあるのに一覧には出てないのな バグかな
import sys, os, urllib2
BASE_DIR = u'./img'
JPG_FUJI = u'%04d%02d%02d%02d%02d.jpg'
URL_FUJI = u'
http://live-fuji.jp/hi-fuji/%04d%02d%02d/%02d%02d.jpg '
def getjpeg(ymdhm):
try:
url = URL_FUJI % ymdhm
print u'get %s ->' % url,
i = urllib2.urlopen(url)
if i is not None:
outf = JPG_FUJI % ymdhm
print outf
o = open(os.path.join(BASE_DIR, outf), 'wb')
o.write(i.read())
o.close()
i.close()
except urllib2.HTTPError, e:
print u'not found'
for year in xrange(2011, 2013):
for month in xrange(1, 13):
for day in xrange(1, 32):
for h in xrange(4, 20):
for m in xrange(0, 60, 10):
getjpeg((year, month, day, h, m))
不要なファイルは自分で消してくれ。
>>992 富士山周辺の地域は3/11の地震直後から停電して、翌朝まで復旧しなかったよ。
どこかが壊れたとかじゃなくて、電力足りなくて供給を切られたんじゃないかと思う。
11日の夕方の画像があるってことは バッテリーで動いてたのかな
>>993 夜は一覧にないだけでデータは24時間ずっとある。
1000 なら富士山噴火
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。