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


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

くだすれPython(超初心者用) その4



1 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 19:25:51 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その3
pc12.2ch.net/test/read.cgi/tech/1232055225/

関連スレ
Pythonのお勉強 Part33
pc12.2ch.net/test/read.cgi/tech/1240678081/

75 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 15:51:51 ]
えっと、
スレ違いですので
こちらへどうぞ
pc12.2ch.net/test/read.cgi/tech/1243159710

76 名前:デフォルトの名無しさん [2009/06/01(月) 21:12:23 ]
>>62さん

素晴らしいコードありがとうございます。
勉強中でとても参考になります。完全に理解できていないのが申し訳ありませんが(汗

具体的な例をお願いできますか?
例えば、C:\Documents and Settings\user\デスクトップ\新しいフォルダ
の中に、
abc.mp3
def.mp3
ghi.mp3
jkl.mp3という4つのデータがあります。
これらをソートした順に01.mp3〜04.mp3にリネームする。

宜しくお願い致します。


77 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 21:36:39 ]
>>76
その前に自分で書いたコードを貼ってみて
動かなくても全然構わないから

いきなり答え見たら実力つかないよ

78 名前:デフォルトの名無しさん [2009/06/01(月) 21:47:43 ]
全然そんなレベルじゃないんですよ(汗
すいません。

79 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:16:23 ]
>>76
指定ディレクトリ内のファイル一覧を取得する
os.listdir、glob.glob等

ファイル一覧を並び替え
list.sort()

ファイル名を変更
os.rename

その他
os.path.join、os.path.abspath

このあたりを調べればいけるんじゃない?
とりあえずosとos.pathモジュールは一通りリファレンスに目を通しましょう。


80 名前:デフォルトの名無しさん [2009/06/01(月) 22:19:21 ]
>>79さん
本当にご親切にありがとうございます。
今日さっそく「みんpy」買ってきました。
面白いですね。まだプログラムって感じではないんですが…
とても参考になりました。
またわからない事がありましたら宜しくお願い致します。

81 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:36:13 ]
>>62 のコードだと
mp3以外のファイルがあったら番号とばない?

82 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:52:35 ]
>>81
飛ぶね。失礼しました

count = 1
for filename in os.listdir(u'.'):
if filename.endswith('.mp3'):
os.rename(filename, '%03d.mp3' % count)
count += 1

83 名前:デフォルトの名無しさん [2009/06/01(月) 22:57:49 ]
>>79さん
ちょっと片言の言語で作ってみましたがrenameでのアイデアが…
なにかヒントをお願いします。

#coding: UTF-8

import os
TargetPath = u'C:\Documents and Settings\user\デスクトップ\Mariah.Carey'
a=FileList = os.listdir(TargetPath)
print u"[曲名一覧]"
for f in a:
print f
else:
print u"以上"
b=len(a)
print u"全部で",b,u"曲"
c=range(1,b+1)
print c,u"までのリストを作成"

ここまででギブ…曲数分の数値をリストで作ってみて対応できればと…その後は…
そもそも間違った考え方なんですかね…ネットで調べながらなのですいません。




84 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:24:31 ]
>>76
#-*- coding: utf-8 -*-
import os, sys, time, shutil
from math import ceil, log
def rename_to_number(srcdir, ext):
    files = filter(lambda x: x[-len(ext):]==ext, os.listdir(srcdir))
    tmpdir = os.path.join(srcdir, 'tmp%s_%s' % (os.getpid(), time.time()))
    while os.path.exists(tmpdir): tmpdir += '0'
    os.mkdir(tmpdir)
    for f in files:
        src = os.path.join(srcdir, f)
        shutil.move(src, tmpdir)
    fmt = '%%0%dd%s' % (ceil(log(len(files),10)), ext)
    for i, f in enumerate(sorted(files)):
        src = os.path.join(tmpdir, f)
        dst = os.path.join(srcdir, fmt % i)
        shutil.copy(src, dst)
    #shutil.rmtree(tmpdir)  # この行を有効にすると作業後テンポラリを削除します。
if __name__ == '__main__':
    srcdir = sys.argv[1]
    ext = sys.argv[2]
    if ext[0] != '.': ext = '.' + ext
    rename_to_number(srcdir, ext)

# 使い方。このスクリプトを hoge.py と保存(UTF-8)した場合。
# python hoge.py ターゲットディレクトリ 対象拡張子
# と入力

85 名前:デフォルトの名無しさん [2009/06/01(月) 23:35:15 ]
>>84さん
すごい。。。
レベルが違いすぎました。
出直してきます。
恥ずかしいですわ

86 名前:84 mailto:sage [2009/06/01(月) 23:55:00 ]
要求にあってなかったところを訂正。

ファイル名の先頭が 0 になるようにする。(12行目)
×    fmt = '%%0%dd%s' % (ceil(log(len(files),10)), ext)
○    fmt = '%%0%dd%s' % (1+ceil(log(len(files),10)), ext)

番号を 0からスタートじゃなく、1からにする。(15行目)
×        dst = os.path.join(srcdir, fmt % i)
○        dst = os.path.join(srcdir, fmt % (i+1))


87 名前:デフォルトの名無しさん [2009/06/02(火) 00:01:08 ]
ディレクトリの指定は必要ないんですか?

88 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 00:19:05 ]
けーすばいけーす

89 名前:デフォルトの名無しさん [2009/06/02(火) 17:09:47 ]
お勉強スレのほうに書いたのですが、ちょっと質問のレベルが低すぎたみたいなので、こちらで聞かせていただきます;;

初歩的な質問で申し訳ありません。
.pyのついたファイルをウィンドウズで実行したいのですが、どのように設定をしたらいいでしょうか?

python-3.0.1をインストールしてみたのですが、どうしたらいいのかイマイチよくわかりません;;

90 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 17:16:18 ]
Python2.6.2をインストールして*.pyをダブルクリックしてみるよろし

91 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 17:32:05 ]
>>89
Python 3.0 はプログラミングの初学者には今のところ向いてないよ
>>90 の言う通りにしてコマンドプロンプトの使い方も併せて調べておくといいと思う

92 名前:デフォルトの名無しさん [2009/06/02(火) 18:13:35 ]
ありがとうございます!
2.6.2ですね。
試してみます。

93 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 23:50:54 ]
>>84
素敵だが初心者にやさしくないなぁ
無駄に丁寧だから本質じゃない部分につい目がいってしまう



94 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 01:05:17 ]
>>93
本当にそうだな。
ただ、あそこまでやるなら、テンポラリディレクトリ作るのに何故
tempfile.mkdtemp()を使わないのかが非常に謎。

95 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 07:09:58 ]
            /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /


96 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 18:04:51 ]
windows xp sp3
python2.5.3

try:
  getattr(obj, 'undefined_method')
except AttributeError:
  pass

だいぶ省略していますが、こんな感じのコードがあり、ここでmain内でエラーが発生すると
UnboundLocalError: local variable 'AttributeError' referenced before assignment

と出てしまいます
AttributeErrorが見つからない理由と、そもそもUnboundLocalErrorがなんなのかよく理解出来ていないのですが、
原因をご存知の方いますでしょうか?

97 名前:96 mailto:sage [2009/06/03(水) 18:24:44 ]
ごめんなさい解決しました
その前に書いてあった
except ImportError, AttributeError:
の括弧忘れでした。

98 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 18:27:33 ]
UnboundLocalError: ローカル変数名のリストにはあるけどまだ宣言されてないよ
NameError: とにかくそんな名前知らんよ

99 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 19:14:50 ]
>>97
エラーが出なくなっただけで
解決はしていないと思うよw

100 名前:デフォルトの名無しさん [2009/06/03(水) 19:19:47 ]
学生時代に資格試験取得でcは勉強したのですが、
社会人になってからは言語は一切触れてません。

インフラ側の人間だったのですが、
言語もかじっておきたくpythonをと考えています。

web上の入門サイトをいくつかやってる最中ですが、
いまいち手応えがありません。

そこで、勉強になるような課題?に適したものってなにかありますでしょうか。
また、Django、Ploneも気になっているのですが、
そうした勉強というのは市販されているテキストを一通りできれば
掴めるものでしょうか。

*正直、業務でも活かせることができるまでを
 意識した勉強の仕方がわからないのが困っています、、、

101 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 19:48:45 ]
>>100
まず要点をまとめてわかりやすく説明することを勉強しるw

102 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 19:59:08 ]
オラ、宇宙一強くなりてえだ!

103 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 22:17:38 ]
DjangoにしろPlone(Zope)にしろ癖が強いから初めての人には勧められないな
>>100に明確な目的があるなら別だけど
時間に迫られてないけど面倒な作業を自動化してみる辺りからやってみたら?



104 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 22:41:03 ]
クックブックでも読めば?
そして己の無知を自覚して初めてのPythonに取り組む
まあ、業務で即生かせるようにはならないがな!

105 名前:デフォルトの名無しさん [2009/06/03(水) 23:23:42 ]
みんなのPython改訂版のP.119の一番下のサンプルコードおかしくありませんか?
お持ちの方がいましたら、見てみてください。
>>>for cnt in range((len(seq)):
... print seq[cnt]
...

です

106 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 23:38:25 ]
端から見ると特におかしくないようだが・・・

107 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 23:52:39 ]
ttp://mixi.jp/view_bbs.pl?id=43236791&comment_count=4&comm_id=1389875

108 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 00:36:51 ]
カッコ。


109 名前:デフォルトの名無しさん [2009/06/04(木) 02:20:26 ]
>>100
ここの課題でもやってみれば?
pc12.2ch.net/test/read.cgi/tech/1153585095/

Django, Plone は 「Python 自体の勉強」 にはお奨めしない


110 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 03:36:56 ]
とりあえずver2.5の日本語ドキュメントでいいから目を通せ。
チュートリアルをひととおりやって、それが終わったらライブラリリファレンスを読む。
用途や意味の分からないライブラリがあったら調べて、どういう時使うのか理解する。

目的ありきでもいいのかもしれないけど、道具を徹底的に理解するのも大事だと思う。
標準ライブラリだけでも、かなり実用的なものが揃ってるから分かってくると楽しいよ。

111 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 10:01:10 ]
>>105
ひどい書籍ですね!
ぜひとも買って確かめなければ!!!

112 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 12:55:57 ]
>>100

> web上の入門サイトをいくつかやってる最中ですが、
> いまいち手応えがありません。

手応えがありませんって、
簡単すぎて全部わかっちゃったのか、
基本も理解出来ないのか、
どっちなんだ?

基本がわからないんだったら、何度も読み返して、
くだらない例題だと思っても、
自分で実際にコードを書きまくって理解しろよ。


113 名前:105 [2009/06/04(木) 23:00:47 ]
>>>for cnt in range(len(seq)):
... print seq[cnt]
...
でした。でもこれでもおかしいですよね?
len()への引数で文字列を扱う際は""。
結果的にはどうしたいのか謎ですが、これが正解に近いですか?
>>>a="seq"
>>>b=range(len(a))
>>>b
[0,1,2]
>>>for cnt in b:
... print a[cnt]
...
s
e
q
>>>
ではないですか?

ってか単純に文字列に""が足りないだけで
>>>for cnt in range(len("seq")):
... print "seq"[cnt]
...
s
e
q
でしょうか?上記の例は詳しくやってみました。



114 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 23:04:44 ]
seqが変数なんだろ?
前で代入されてるんでしょ?

115 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 23:10:32 ]
105は友達がいないせいでmixi垢を持ってないんだな。
なによりそれが可哀想だ。

116 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 23:11:47 ]
まあ、2ちゃんに貼ってあるmixiのリンクは普通踏まないがな・・・

117 名前:105 [2009/06/04(木) 23:14:00 ]
>>114
かなり前までさかのぼっても代入された記述はないんですよ

>>115
確かに友達は少ないかな?w
mixi垢ってなに(汗


118 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 00:09:14 ]
書籍のサンプルコードなんだから一部抜粋なんて
普通にあるだろ。そうでなければタダの誤植。

だいたいseqっていう名前から
何らかのシーケンスを表す変数だって想像しろよ。
"seq"っていう文字列だなんて普通は思わないよ。


119 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 00:14:38 ]
>>113
range(len(seq))はforで添え字アクセスをしたい場合に使う慣用句
こんな感じに使う

>>> lines = [u'1行目', u'2行目', u'3行目']
>>> for linenum in range(len(lines)):
... print '%d: %s' % (linenum + 1, lines[linenum])
...
1: 1行目
2: 2行目
3: 3行目

後々わかる日が来るから深く悩まず先に進むのが吉

120 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 00:18:22 ]
>>119
あ、linenumになってないね。
linenum → i に訂正

121 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 00:29:17 ]
おかしいのは105の脳みそでした

122 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 02:17:09 ]
>>105 さんの脳みそ本当にだいじょうぶかなぁ
ぜったい普通じゃないよね かわいそう


123 名前:デフォルトの名無しさん [2009/06/05(金) 03:11:03 ]
クラスAのなかで[1,2,3]というリストを作ろうとしています。
で、次のようにコーディングしたらselfが定義されてない、って怒られました。
class A:
def __init__(self):
self.x = []
for i in range(1,4):
self.x.append(i)



Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
class A:
File "<pyshell#5>", line 5, in A
self.x.append(i)
NameError: name 'self' is not defined

なにがまずいのかわかりません。どなたかご指摘くださるとありがたいです。



124 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 03:23:15 ]
>>123
インスタンスメソッドの第一引数(慣習としてselfを使う)は
インスタンスオブジェクトを指す。
その for 文はインスタンスメソッドの外側にあるので、クラスを
生成するときに実行される。その時にselfは存在しない。
解決するにはインデントを修正する。
class A:
  def __init__(self):
    self.x = []
    for i in range(1,4):
      self.x.append(i)
ただし、こちらの方が綺麗
class A:
  def __init__(self):
    self.x = range(1,4)

125 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 10:02:50 ]
インデントがずれてるんじゃねえの?
スペースを全角に変換してもういちどコード張れや>123

126 名前:デフォルトの名無しさん [2009/06/05(金) 11:08:44 ]
>>124
ありがとうございます。
インデントはつけています。投稿時につぶれてしまいました。すみません。

>>125
インデントは次のようにつけています。

class A:
        def __init__(self):
                self.x=[]
        for i in range(1,4):
                self.x.append(i)

127 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 11:13:27 ]
>>126
バロス(wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

128 名前:126 [2009/06/05(金) 11:31:20 ]
あ〜、
for i ...
のインデントは
def __init__ ...
より内側に来なきゃいけないのかな?
どうもselfがよくわからんorz

129 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 13:20:52 ]
self.x = [] の次の行は
既に別の空間だ

130 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 15:50:40 ]
コードは
$ sed -e "s/ /\ /g" test.py
みたいに正規表現でhtmlの空白に置換するといいよ

131 名前:デフォルトの名無しさん [2009/06/05(金) 19:49:02 ]
すごい初歩のことですみません。
リストでスライスのことですが、

a=range(10)
a[1:3]
1,2

となります。

なぜ、1,2,3にならないのでしょうか?
0からのインデックスという説明がされているのですが、
0,1,2,3,4,5,6,7,8,9
とするのならば、a[1,3]であれば、1,2,3ではないのですか?
こんなところでつまづいてしまっているのですが、どのように理解すればよいのでしょうか?

132 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 19:56:23 ]
後ろから2行目に間違いがありました。
a[1:3]でした。

133 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 19:59:19 ]
>>131
スライスにおけるインデックスは文字の隙間と考えるのが定番
www.python.jp/doc/release/tut/node5.html#SECTION005120000000000000000



134 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:03:08 ]
>>131
開始点は含み、終了点を含まない範囲を指定している。
記号で書けば、 [begin, end)
こうすると、長さ0の範囲を [n:n] で表せる。
もしくは、長さを end - begin で計算することができる。
C++でも同じ考え方をしているよ。

135 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:04:16 ]
>>133
なるほど。文字と文字の隙間にインデックスが付けられているのですね。
文字自体についているわけではなかったのか。
疑問が解けました。ありがとうございました。

136 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:06:47 ]
何につけ作法は作法で「そういうもの」と覚えてしまう方が早く学習進んで良い
理由付けやルールなんかは言語作者のもんだしさ…

137 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:09:47 ]
134さんもありがとう。
133さんのリンク先の図解で理解できました。
また、計算する際にも利用できるのですね。
今のところ、図解が理解できたので良しとします。
m(_ _)m

138 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:27:42 ]
>>136
確かにそうなのかも知れないですけど、モヤモヤしていて理解できないことって、気持ちが悪いです。
しかも難しくて理解できないことじゃなくて、誰でも疑問を持ちそうな初歩的なことでしたから。
インデックスが、文字自体に付いていないということに気付きませんでした。

139 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:34:20 ]
小学校の算数レベルだろ


140 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:40:24 ]
うーん、そうなのですか?
今の算数は、インデックスが0から始まりそれは文字に割り当てられてのではなく、
隙間に割り当てられているって習うんですか?
私に時には習った覚えはないです。

141 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:42:15 ]
誤字になってしまったので、書き直します。

うーん、そうなのですか?
今の算数は、インデックスが0から始まりそれは文字に割り当てられるのではなく、
隙間に割り当てられているって習うんですか?
私の時には習った覚えはないです。


142 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:46:20 ]
>>141
釣られなくていいから

143 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 20:58:16 ]
>>142
そっくりそのままお前に返したいw



144 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 21:46:27 ]
>>143
くりそつ

145 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 22:37:15 ]
つーか、単に-1に合わせてるだけの希ガス。

146 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 01:15:51 ]
end - beginで length が取れるのが一番の魅力だと思う

147 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 09:58:05 ]
>>146
カウンタが1から始まったりendが含まれる系の言語では
あちらこちらに +1 とか -1 が散らばってて、一旦バグると
どの +1 が間違ってるのか判らないもんな。

148 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 11:47:27 ]
C とかで書くときもやっぱり
for (i = begin; i < end; i++)
だな。
for (i = begin; i <= end; i++)
とか書いてるのみるとイラッとする。


149 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 12:39:39 ]
>>148
場合によるね。
タグの値を順番になめる場合とか、結構 <= で比較する場合もあると思う。
for (tid = ID_START; tid <= ID_FINAL; ++tid) とか。

150 名前:148 mailto:sage [2009/06/06(土) 12:42:56 ]
>>149
うん 場合によるとおもう 必要なときもあるよね
でも <= を使うときにちょっといやな気分になるのはおれだけかな


151 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 12:54:49 ]
俺もなる。基本的に序数の場合はそれでいいと思う。
ただ
for (double alpha = 0.0; alpha <= alpha_max; alpha += step)
みたいに実数値の範囲みたいなのは<=じゃないとキモいと思う

152 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 14:00:30 ]
普通はID_FINALってやつを最後の次の値として定義するけどな。
そうでないと斜め読みしてるときにいちいち目がとまって
本当にただしいか確認しないとといけない。

もちろん、>>151みたいなalpha_maxとかINT_MAXみたいに
どうしようもない場合もあるんだが。

郷にいれば郷に従えみたいな感じかなあ。

153 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 14:05:25 ]
と思ったけどそうでもないかな。
今のなしで。



154 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 14:07:10 ]
0〜N-1なら、i<Nで、
A〜Bなら、i<=Bだな。

155 名前:デフォルトの名無しさん [2009/06/06(土) 14:14:25 ]
初心者には難しい話しているな(汗

156 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 15:42:24 ]
>>151
なんで?

157 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 19:41:22 ]
おまえら、JDBCでも1ベースなのはなぜなんだぜ?

158 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 22:25:54 ]
Pythonの場合xDBCは不要


159 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 23:25:49 ]
DBAPI 使う罠

160 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 10:48:32 ]
>>158

マジすか?
Mac から Microsoft Access データを読み書きする方法教えやがれです。


161 名前:デフォルトの名無しさん [2009/06/08(月) 12:04:12 ]
質問です!
最近、BlackJumboDogを使ってWindowsXPでWEBサーバを立てたのですが
PerlとRubyは動くのにPythonが動きません。
cmdから「perl -v」「python -v」「ruby -v」をやるとエラーの雰囲気は無い応答が帰ってくるので
問題ないとおもうのですが、何か原因がわかるかたいますか?
ちなみに「python -v」を打ち込むとperlやrubyではバージョンとかが出るのですが
pythonだけ対話モードみたいなのに入ります。
cgiの中身は以下のようになってます。

#!/python

# -*- coding: utf-8 -*-
import cgi
import cgitb
cgitb.enable()

print "Content-Type: text/html"
print
print "hello world."

アクセスすると真っ白です。
どなたかお助け願います。お願いしますよろしくお願いします!

162 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:17:42 ]
>>161
かなり特殊なサーバーみたいだね。
www.kamezoh.net/bjd-doc/bjd-doc/WebCgi.html
これをみると、拡張子とインタプリタの関連付けを一個一個埋め込みで実装している
ような気がする。で、Pythonには対応していないから実行できなさそう。

163 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 12:29:30 ]
>>162
まま、マジですか!
ありがとうございます。
原因がBlackJumboDogにあるとは考えてなかったので
それを念頭にまたググってみます。



164 名前:デフォルトの名無しさん [2009/06/08(月) 13:15:30 ]
>>161
python -V (大文字)

165 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 15:08:16 ]
>>164
多分bingoだろうな。どうして--helpとか、-hをまずしないのだろうか。

166 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 15:23:13 ]
ついでに晒しとく

6924.teacup.com/kamezoh/bbs
かめぞ〜掲示板
雑談 兼 避難所

げ! 投稿者:かめぞ〜 投稿日:2008年 9月 4日(木)20時34分22秒   返信・引用
勝手に広告なんか入れやがって・・・SPAM業者と変わらんではないか。

掃除掃除。( ´〜`)y-~~


空いた時間を有効活用
バイト探しはお任せ。高時給から短時間バイトまでおすすめ情報を比較。

リフォームしませんか
リフォーム情報が満載。人気のリフォーム会社を徹底比較。

おしゃれ女性かつら情報
ファッションから医療用まで、女性用かつら・ウィッグ情報はコチラ。

167 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 17:22:26 ]
>>161
特別な事情やこだわりがない限り
WebサーバはApache使ったほうがいいんじゃまいか

168 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 19:40:31 ]
>>161
俺はANHTTPDを使ってる
これならPythonだろうがなんだろうが動くぞ

169 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:20:46 ]
Winなら、Linuxの仮想環境作ってその中でWeb鯖立てるのが本当はおすすめ

170 名前:デフォルトの名無しさん [2009/06/08(月) 22:40:41 ]
あの〜インタラクティブシェルでだらだらコードを書いた後にクリアしたい(今までのコードをを消したい)
時は再起動しかないですか?(プログラムを)

171 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:08:55 ]
wsgiだろ常考

172 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:40:26 ]
>>162
へえ、と思ってソース(TVWeb.cpp)を見たが、以下のようなロジックなので
pythonインタープリターとパラメーターがちゃんと1行目に書いてあれば
大丈夫っぽい。

1行目が#!で始まっている
 →perlという文字があればperl、rubyという文字があればrubyと見なす
 どちらでもなければコマンドへのフルパスと見なす(/は\に置換)
1行目が<?で始まっている
 →phpと見なす

何がcgiモジュールなのかは、設定ダイアログで設定した拡張子で判断する。
ただし、拡張子と実行コマンドが紐付けされるわけではなく、上記のロジックで
判断される。

173 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 03:47:45 ]
>どちらでもなければコマンドへのフルパスと見なす(/は\に置換)

じゃあ
#!c:/Python26/python.exe
って書かないといけない訳?



174 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 07:54:25 ]
だっさ

175 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 22:11:34 ]
/cygdrive/c/IronPython/py2/ipy.exe






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

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

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