[表示 : 全て 最新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/

620 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 22:58:40 ]
COMはDDEとは別物じゃないですか?

621 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 23:05:06 ]
それはMSに言っといてくれ
死語だけでもWindows DNAとかChromeEffectsとかいくらでも出てくる

622 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 23:34:06 ]
>>619を読んで、win32comとDDEクライアントの関係がわからなかったので>>620を書いたのですが……

623 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 01:55:48 ]
COMはOLEクライアント

624 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 04:10:26 ]
拡張子は opyで

625 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 21:05:40 ]
.pyoのほうがいい

626 名前:デフォルトの名無しさん mailto:sage [2009/08/28(金) 08:19:35 ]
そのうち2.xようと3.xように
.pyo2とかになるのか

627 名前:デフォルトの名無しさん [2009/09/01(火) 22:46:42 ]
Windows環境でもPyreadlineをインストールしていれば
cmdモジュールのデフォルトでbash-like動作が有効になると思ってたんですが
普通に“^A”などと表示されてしまいます。
IPythonでは補完が効くので、cmdモジュールの使い方が間違ってるんだと思いますが
公式サイトのリファレンスではCmd.cmdを継承したクラスを作って
引数無しでインスタンスを作成するだけのように読めます。

何が間違ってるんでしょうか?

628 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 07:39:13 ]
助けてください・・・
これからPythonを勉強しようと思ってるのですが、それ以前に「パスを通す」
ということができません。
Windows XP で、Python2.6.2 をインストールしたんですけど、初心者用の
サイトにある「パスの設定」というのを見ながらやっても
[操作可能なプログラムまたはバッチ ファイルとして認識されていません]と
でてしまい困っています・・・。どうすればパスを通せるのか教えていただけ
ないでしょうか。よろしくお願いします。



629 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 08:12:03 ]
了解

630 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 08:33:11 ]
スレ違い
パソコン入門スレとかにいってこい

631 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 09:24:33 ]

PATHの通し方すら教えられない。
しょせんPyヲタなんて、この程度。

632 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 09:51:29 ]
逃げた?

633 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 09:53:19 ]
>>628
autoexec.bat あたりを弄ったのかな?それはWindows98時代のやり方で、
Windows2000以降ならGUIで設定できる。
ttp://www.daikichi.net/books/lecture_java/setting_jdk.html

634 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 10:08:32 ]
言っちゃった…。

俺はあほの相手するのは疲れるんでぐっとこらえたんだけど。

635 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 14:15:51 ]
>>628
>>633が答えてくれてるけど
うまくいかなかったらまた聞いてくれ

636 名前:628 mailto:sage [2009/09/03(木) 19:12:06 ]
>>629
>>630
すみません。スレ違いという事すら気づきませんでした...。
>>631
ごめんなさい..。私が悪いんです。
>>632
>>633
ご親切に答えてくれて、ありがとうございます。教えて頂いた
ttp://www.daikichi.net/books/lecture_java/setting_jdk.html も、見てみた
のですが、ダウンロードし直したら無事にパスが通りました。本当に、
ありがとうございました。
>>634
ごめんなさい、ほんとに私はアホです。
>>635
ありがとうございます。結局、何が原因だったのかわからないのですが
どうにかパスの設定はできました。

637 名前:デフォルトの名無しさん [2009/09/03(木) 21:35:11 ]
>> 607
一行目の指定宣言ですが?

#! /usr/bin/env python

/* man env 引用 */

NAME
env -- set and print environment

余り どの様な形式の基礎かが理解 出来ないのですが…
この部分の基礎宣言の説明をして頂けますか?

638 名前:デフォルトの名無しさん [2009/09/03(木) 21:51:11 ]
ピートンっておぼえたほうがいいかな



639 名前:BBS戦士ジョソコイダーGID@愛をください [2009/09/03(木) 21:52:46 ]
ジョソコイダーを遊園地に連れてってって

640 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:08:29 ]
>>637
その一行目は shebang という
二行目以降を入力として shebang に指定したコマンドを実行する

ややこしい話をすると
shebang に指定されたコマンドを実行するのはシェルでなくカーネルの仕事
シェルは環境変数PATHを知っているけど、カーネルは知らないので
原則 #!/usr/bin/python などではなく #!/usr/bin/python のように書く必要がある

ただこの方法だと他のマシンでの python インタプリタの場所が
/usr/local/bin/python だった場合に動かないので
env コマンドに環境の設定と python の実行をお願いする

641 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:09:26 ]
o 原則 #!/usr/bin/python などではなく #!/usr/bin/python のように書く必要がある
x #!python などではなく #!/usr/bin/python のように書く必要がある

642 名前:デフォルトの名無しさん [2009/09/03(木) 22:33:38 ]
>>607

/* Line 2 */
# coding: 'Shift_JIS'

これで 通りますが… 何をする Program ですか?

643 名前:デフォルトの名無しさん [2009/09/03(木) 22:38:14 ]
>>642 plus
失礼…
>>640 を読めずに書き込んだので…

644 名前:デフォルトの名無しさん [2009/09/03(木) 22:48:02 ]
>>640
読んだのですが?
文字列を入れても Syntax Error に為りますが?
直接 打ち込んでの作業では無いと云う事か…

645 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 23:12:28 ]
まずは日本語の構文をマスターしてからのほうが
いいと思うんだ・・・

646 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 23:17:30 ]
>>644
shebang を使うのはファイルに保存したスクリプトを
% python scriptname
ではなく
% chmod +x scriptname
% ./scriptname
のように実行したい場合
対話型プロンプトではそもそも必要ない

よくわからなかったら、慣れるまで
* スクリプト内でASCII文字だけ使うようにする
* 実行する際は % python scriptname
* 対話型プロンプトは使わない
そうすれば #!/usr/bin/env python や # coding: sjis を書く必要が無くなる

あとできればメール欄に sage って入れて

647 名前:デフォルトの名無しさん [2009/09/04(金) 00:16:11 ]
>>646 本人がレスして居るのでしょうか?
# coding: Shift_JIS
は 始めから省略が出来たと思いましたが…
書く必要性 1: どの coding: を使用して居るかを明確にする為
記憶では二行目は かなり about に書く事が出来る でしたか?
prompt を使用しないですか…
script が まだ入力待ちの状態だったと理解して居りますが?

>>607
「はじめてのpython」で勉強しています
下記スクリプトを実行したとき、
Winで実行する場合とUbuntuで実行する場合とで
結果が違う(Ubuntuの場合はエラーになる)のですが
どうしてですか?

648 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:01:52 ]
どんなエラーが出たのか書けよ



649 名前:デフォルトの名無しさん [2009/09/04(金) 01:05:22 ]
OSが違うからです

650 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:06:22 ]
>下記スクリプト

???

651 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:12:46 ]
異なる環境で動かすことを考えているなら、 coding指定は必ず書いておけ。

標準入力も、inputに頼らず、codecs.getreader()で、
エンコード指定して、sys.stdinからファイル入力として扱うほうが、
トラブルは少ないかもしれない。

652 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:13:36 ]
その変な日本語どうにかしてよ

653 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:20:28 ]
str = codecs.getreader('UTF-8')(sys.stdin)

654 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:23:08 ]
str = codecs.getreader('UTF-8')(sys.stdin).read()

655 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:25:03 ]
っつーかstrをへんこうしたらなにがおこるんだ?



656 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:56:11 ]
うちゅうのほうそくがみだれる

657 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:57:50 ]
変更というよりは邪魔して見えなくしてるだけだ

__builtins__.str

658 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 06:27:01 ]
py3なら文字コード余裕でした。



659 名前:デフォルトの名無しさん [2009/09/04(金) 13:46:11 ]
拙もはじめてのpython3で勉強してます。
本に載ってた下記スクリプトが、WinでもLinuxでも動きませんでした。

本のミスでしょうか?

■エラー内容:
print( gcd(int(sys.argv[1]),int(sys.argv[2])) )
IndexError: list index out of range

■スクリプト:
#!usr/bin/env python
# coding:shift_jis

import sys

def gcd(m,n):

if n>m: m,n=n,m
while n>0:
m,n=n%m
return m


if __name__=='__main__':
print( gcd(int(sys.argv[1]),int(sys.argv[2])) )

660 名前:659 [2009/09/04(金) 13:47:43 ]
カキコしたらインシデントがなくなってしまいました。修正します。

■スクリプト

#!usr/bin/env python
# coding:shift_jis

import sys

def gcd(m,n):

 if n>m: m,n=n,m
  while n>0:
   m,n=n%m
  return m


if __name__=='__main__':
 print( gcd(int(sys.argv[1]),int(sys.argv[2])) )

661 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 14:08:36 ]
>>660
sys.argv[1] と sys.argv[2] はそれぞれ、
python gcd.py 3 5 (もしくは ./gcd.py 3 5) としたときの 3 と 5 が入ります。
引数をつけずにプログラムを実行されたのではないでしょうか?

662 名前:659 [2009/09/04(金) 16:00:32 ]
>>661

そのとおりでした。ありがとうございます。

663 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:15:57 ]
WindowsでPython 2.6.2を使って機種依存文字を処理しようと思ったんですが、
cp932でエンコードして書き出すとき、PythonはNEC選定IBM拡張文字を優先して使うようなんです。
(例えば「掾vの場合、fbb9ではなくee9d)

できたらIBM拡張文字の方で書き出せるようにしたいんですが、何かいい方法があるでしょうか?

664 名前:デフォルトの名無しさん [2009/09/04(金) 16:48:19 ]
>>663
Text 文書を保存して その儘 特定機種で Text を読み込むと どの様に為りますか?

665 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:53:22 ]
>>> u"ケ".encode("mbcs")
'\xfb\xb9'
>>> u"ケ".encode("cp932")
'\xee\x9d'

666 名前:デフォルトの名無しさん [2009/09/04(金) 17:03:13 ]
>>664 plus
否… 表現が悪かった様で… 片方の機種で その文字を Text に保存して
もう片方の機種で その Text を読み込むと どの様に為りますか?

667 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:19:25 ]
>>665
どうもありがとうございます。
何となく、Windowsではcp932を選べばいいのだと勝手に思い込んでました。

>>666
すみません、勉強不足でよく理解できていないんですが、cp932はWindows以外の環境も考慮してああなっているということでしょうか? もっとよく調べてみます。

668 名前:デフォルトの名無しさん [2009/09/04(金) 17:32:22 ]
うにcode か… 素晴らしいな…



669 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:33:07 ]
>インシデント

670 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:10:56 ]
>>665
なんなのその顔文字ふざけてんの?

671 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:18:51 ]
u('-')

たまに出てくるけどかわいい

672 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:06:05 ]
>>670
NEVADA

673 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 00:12:56 ]
>>671
心の汚れた環境では見れないらしい…

674 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:02:15 ]
osごとに異なるモジュールをインポートするにはどうしたらいいのでしょうか?
C言語で言うifdefみたいなことがしたいのですがうまくいきません・・

675 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:03:45 ]
import sys
sys.platform

676 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:18:03 ]
>>675
ありがとうございます
sys.platformで取り込むモジュールを振り分けられました
importは先頭に書くものだと思っていました。。

677 名前:デフォルトの名無しさん [2009/09/06(日) 00:20:31 ]
普通はtry: import hoge except ImportError: import fugaみたいにするんじゃなかったっけ?

678 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:36:49 ]
異なるシステムでもImportErrorでない書き方できるからsys.platform使う方が無難



679 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:42:55 ]
sys.platformというのは初耳だわ
os.nameよりも詳しいのかな

680 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:45:20 ]
platformモジュールとか初めて知った

681 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 01:05:04 ]
>>680
そういえばそんなのもあったね。程度にしか使われてないよな

sysはビルトインの標準モジュールだから絶対に読み込めるという理由もあるかも
osはパス通ってないとimportできないし

682 名前:デフォルトの名無しさん [2009/09/06(日) 18:33:13 ]
スクリプトでテキストを立ち上げたり、IEを起動させたりは可能ですか?

683 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:40:20 ]
yes you can

684 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:46:18 ]
いろいろ試したんだけどwindowsでparamikoが使えない。
これは使えないでOK?


685 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:50:05 ]
Windowsでparamikoつかえるよ?
bazaarなんてWindows用のデフォルトのsshクライアントがparamikoだよ。

686 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:08:23 ]
>>685
俺にとってあんたは神様だ。
設定しかたを教えてくれ!

687 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:51:13 ]
>>685
1. paramiko-1.7.5.zip をダウンロード
2. 適当なディレクトリに解凍
3. コマンドプロンプト開いて 2 のディレクトリに cd で移動する
4. python setup.py build
5. python setup.py install
これを順にやっていって、どこで引っかかるか教えて。

今やってみたら、依存ライブラリのpycryptoが手元の環境でインストール済みだったから
すんなりインストール終わった。
ひょっとしたらpycryptoインストールするときに拡張モジュールのコンパイルが必要かも
知れないから、Pythonのバージョンに対応するコンパイラをもっていない場合は
mirror.cameronbergh.com/pycrypto-win/
から対応するパッケージをダウンロードするといいよ。

688 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:54:35 ]
親切にありがとう!
paramiko-1.7.4でやったらすんなりとおった。



689 名前:デフォルトの名無しさん [2009/09/10(木) 16:31:07 ]
n(適当な自然数)次元の実数値関数fを定義するときに
f = lambda x : (x**2).sum()
とか書いてあるコードがあって、意味がわかりません。

lambda式がわからないのではなくて、後ろについてる.sum()がわかりません。
インタプリタで上記定義をして、f(x=1.0)とかf(x=[1.0,2.0])とかやってみると、
sum()についてのattribute errorが出ます。

よろしくお願いします…。

690 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 16:33:31 ]
xがnumpyのarrayなんじゃない?

691 名前:689 [2009/09/10(木) 16:43:10 ]
>>690
それでした!
どうもありがとうございました。

692 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:49:04 ]
BitTorrent以外でpythonで実装されたクライアントソフトあるいはスタンドアローンソフトって何がありますか?
砕けた言い方をすると、pythonで実装されていて拡張子がexeなそれなりに有名なソフトって何がありますか?

693 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:59:58 ]
BTはPythonやめたんじゃなかったっけ?

694 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 23:03:43 ]
ttp://wiki.python.org/moin/Applications

695 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 15:52:44 ]
拡張子がexeである必要がよくわからないけど、
bzr, mercurial といったVCSもそうだし、
Editra, Dropbox, TaskCoach, 他にもいろいろあるぞ。
LinuxにいったらさらにPython製デスクトップアプリだらけ。

696 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:57:53 ]
yum


697 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:59:20 ]
とりあえず2chviewerでも作って公開すれば有名になれるんかな

698 名前:デフォルトの名無しさん [2009/09/14(月) 05:56:06 ]
>684
これかも
ttp://d.hatena.ne.jp/lolloo-htn/20090801/1249085650



699 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 09:44:16 ]
bugs.launchpad.net/paramiko/+bug/411910
へぇ。

700 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:47:58 ]
>>692
portage, samuraix

701 名前:デフォルトの名無しさん [2009/09/15(火) 21:14:28 ]
wikipediaのPythonのページに
「多くの異なる言語で書かれたモジュールをまとめるグルー言語」
とありますが、これは複数のプログラミング言語で書かれたモジュールを
まとめられるということでいいのでしょうか?

702 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 08:06:50 ]
>>701
文章を途中で切るよな。

703 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 09:50:28 ]
ワロタ

704 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 03:21:16 ]
lambda : 1 + 2
が良くて
lambda : print "hoge2"
がダメな理由って何故ですか?

705 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 03:35:29 ]
lambda式には式(expression)しか書けないから。printは文(statement)。

706 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 03:43:40 ]
lambda : sys.stdout.write("hoge2\n")

707 名前:704 mailto:sage [2009/09/24(木) 04:34:27 ]
ありがとう
・・・Pythonってそう言うのを区別するのか・・・先は長そうだ orz

708 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 06:08:10 ]
python3ではprintは関数だよ^^



709 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 07:27:03 ]
Pythonで
print "x=#{x}\n" if DEBUG (Rubyの例)
みたいに1行で完結させる書き方って可能ですか?
同じ物をPythonで書くと
if DEBUG:
print "x="+str(x)
となると思いますが出来ればデバッグメッセージごときに2行は使いたくない・・・

710 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 08:07:41 ]
if DEBUG: print "x="+str(x)
だが、logging使え。

711 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 10:34:36 ]
if DEBUG:
print "x="+ str(x)

712 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 10:36:08 ]
>>711 ミスったので見なかったことに

713 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 11:42:46 ]
logging.logger

714 名前:デフォルトの名無しさん [2009/09/24(木) 13:37:14 ]
pythonjp.sourceforge.jp/dev/library/functools.html
ここにある
def partial(func, *args, **keywords):
という書き方に出てくるCのポインタみたいな記号(*args,**keywords)ってどういう意味ですか?

715 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 13:43:23 ]
pythonjp.sourceforge.jp/dev/tutorial/controlflow.html#tut-keywordargs

716 名前:デフォルトの名無しさん [2009/09/24(木) 13:53:55 ]
ありがとござます

717 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 17:46:57 ]
PILのpython3対応はまだか!

718 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 22:47:32 ]
>>712
え?どこどこ?



719 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:06:30 ]
Python的には字下げだろう。

720 名前:デフォルトの名無しさん [2009/09/27(日) 04:43:59 ]
一度定義した変数を消去することは可能ですか?

python3.0で、
print = 5
とするとprintという名前の変数に5が代入されたのですが、
そのあと元のprintという関数を使いたい場合はどうすればよいのでしょうか?






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

前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