- 1 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 16:36:03.35 ]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その15 toro.2ch.net/test/read.cgi/tech/1350718465/ 関連スレ Pythonのお勉強 Part48 toro.2ch.net/test/read.cgi/tech/1358750040/ 【実験台】 Python 3.0 のお勉強 Part 1 【非互換】 toro.2ch.net/test/read.cgi/tech/1235050215/ ◆関連リンク Python の Home Page ttp://www.python.org/
- 952 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 10:36:31.78 ]
- >>951
$ source default/bin/activate して仮想環境が有効になった状態で (default) $ python distribute_setup.py したのなら easy_install は default/bin に入るんじゃないかと思う というわけで仮想環境が有効になっていない状態で $ python distribute_setup.py した可能性はない?
- 953 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 11:40:03.30 ]
- >>911,918,920,951
おっと先に回答があったようですが Python3.3のvenvを試す ttp://ymotongpoo.hatenablog.com/entry/2012/09/03/002604 $ pyvenv-3.3 default このコマンドで default/ というディレクトリを作成し default/ 以下のPython環境を3.3としている ただこれ、このディレクトリに入ったら自動でその環境になるわけではなく そこに作られた default/bin/activate を読み込むことでその環境になる $ default/bin/activate を実行すると仮想環境(今回は3.3)になり 環境から抜けるには $ deactivate 簡単に理解するには以下のようにインタプリタを呼び出してみるとわかる $ default/bin/activate ---------------------------------------- (default) $ python ---------------------------------------- Python 3.3.0 >>> exit() (default) $ deactivate ---------------------------------------- $ python ---------------------------------------- Python 2.7.3 >>> exit()
- 954 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 11:55:21.13 ]
- >>953
bin/activate は直接実行ではなく source しなきゃいけない というか直接実行できないようになってるはず
- 955 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 12:01:07.74 ]
- $ python -V
Python 2.7.3 $
- 956 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 12:47:57.72 ]
- てかまだvirtualenv使ってる方がいい
pysetupもまだだし
- 957 名前:918 mailto:sage [2013/04/03(水) 14:10:35.24 ]
- >>952
ubuntuを再インストールして試してみましたが /local/binにインストールされます。 コマンド $ sudo apt-get install python3.3 python3.3-dev $ mkdir projects $ cd projects $ pyvenv-3.3 default $ source default/bin/activate $ wget python-distribute.org/distribute_setup.py $ python distribute_setup.py
- 958 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 15:27:10.10 ]
- >>957
source したらプロンプトの左側に (default) って出てない? 出てるなら端折らないで 出てる状態で su/sudo つけずに $ python distribute_setup.py して /local/bin なんて場所に easy_install が入っちゃうのならお手上げ
- 959 名前:918 mailto:sage [2013/04/03(水) 16:27:41.62 ]
- >>958
$ sudo apt-get install python3.3 python3.3-dev $ mkdir projects $ cd projects $ pyvenv-3.3 default $ source default/bin/activate (default) $ wget python-distribute.org/distribute_setup.py (default) $ python distribute_setup.py easy_installは/local/binにインストールされます。 (default) $ ./default/local/bin/easy_install pip pipも/local/binにインストールされます。
- 960 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 17:04:05.97 ]
- su/sudoしてないのにインストールできるわけないじゃん
- 961 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 17:37:54.54 ]
- >>959
/local/bin って ./local/bin のことか… やっつけな回避策でいいなら bin/activate を開いて PATH="$VIRTUAL_ENV/bin:$PATH" PATH="$VIRTUAL_ENV/local/bin:$PATH" とかすればとりあえず local/bin にパスは通る
- 962 名前:918 mailto:sage [2013/04/04(木) 09:15:42.65 ]
- >>960
sudo すると /usr/local/binに2.7がインストールされました。
- 963 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 09:16:28.12 ]
- >>961
説明不足ですみません。 pyvenvの状態では (default) $ /home/ubuntu/projects/default/local/bin にインストールされます。 $ pyvenv-3.3 --clear default にすると環境全部消えるので書き換えたPATHも戻ってしまいますが 対策されるまでしばらくこれで使ってみます。 どうもありがとうございました。
- 964 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 09:40:13.01 ]
- sudo python3でやったか?
- 965 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 09:52:03.01 ]
- sudoしたらだめ。システムに影響が出ないようにvenvで仮想環境作ってるんだから
- 966 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 19:54:39.42 ]
- 狙ったバージョンをOSにインスコするだけなのに
何日もかかるって… UNIX系OSの暗黒面が大爆発している例だな。
- 967 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 20:07:26.02 ]
- >>953 のサイトのやり方なら問題ない
バグというか仕様なんだから ubuntu で distribute_setup.py 使わなければOK .tar.gz 落として setup.py install
- 968 名前:829 [2013/04/04(木) 20:39:35.04 ]
- クラスを要素に持ってたリストを消去するのに
hoge=[]と del hoge[:]で挙動が異なるんだなぁ、奥が深い....。この数日ハマった...。
- 969 名前:968 [2013/04/04(木) 20:41:04.90 ]
- ↑すみません。829じゃないのに間違えました。
- 970 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 21:15:32.60 ]
- パッケージマネージャ使わないとか死ねよ
ぷんすか
- 971 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 21:18:40.02 ]
- 死ねよは言い過ぎじゃ
>>953 のサイト見た? pyvenv でヴァーチャル環境でローカルにインスコ出来て --clear できれいサッパリ削除出来るってお得じゃないか
- 972 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 21:21:21.67 ]
- いや随分パッケージ管理システムにご執心な奴がいたから
気持ちを代弁してやっただけよ
- 973 名前:918 mailto:sage [2013/04/05(金) 09:52:58.94 ]
- >>967
ソースから入れても./local/binに入ります。 $ pyvenv-3.3 default $ source default/bin/activate $ curl -O "pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz" $ tar xzf distribute-0.6.35.tar.gz $ cd distribute-0.6.35 $ python setup.py install
- 974 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 13:24:41.23 ]
- >>973
python distribute_setup.py も結局 python setup.py install するのでそうなるだろう ところで pip で入れたモジュールはちゃんと使えてる?
- 975 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 16:36:37.81 ]
- 質問です
ある文字列 ( 0-9 a-f A-F のみが含まれる) '123456789abcdeff0123456789abcdef' ... から [0x1234, 0x5678, 0x9abc, 0xdeff, 0x0123, 0x4567, 0x89ab, 0xcdef] ... という 2byte 毎の値のリストを得るにはどんな書き方がありますか? 文字列の長さは常に 8 の倍数ですが最大の長さは不明です(どこまでも大きくなる可能性あり)
- 976 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 16:56:25.98 ]
- どこまでも大きくなるってのは例えばSocketStreamがReadしないとデータがあるかどうか分からないような状況を言っているのか?
それとも1024か32768か2^32か不明なだけで、処理するときには判明しているのか?
- 977 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:02:20.74 ]
- >>975
>>> s = '123456789abcdeff0123456789abcdef' >>> [int(s[i:i+4], 16) for i in range(0, len(s), 4)] [4660, 22136, 39612, 57087, 291, 17767, 35243, 52719] >>> [hex(int(s[i:i+4], 16)) for i in range(0, len(s), 4)] ['0x1234', '0x5678', '0x9abc', '0xdeff', '0x123', '0x4567', '0x89ab', '0xcdef'] これでいいのかなあ。なんかやりたいこととは違う気がしなくもない
- 978 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:02:46.49 ]
- いや、そもそもPythonの文字列は長さが判明してないとおかしいから、
質問者が文字列から、と言っている以上、前者ではありえない。 ['0x'+s[i:i+4] for i in range(0,len(s),4)]
- 979 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:06:10.24 ]
- f = StringIO(s)
[int(i, 16) for i in iter(lambda: f.read(4), '')]
- 980 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:07:42.97 ]
- import struct, binascii
struct.unpack('>%dh' % (len(s) / 4), binascii.a2b_hex(s))
- 981 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:13:59.20 ]
- みなさんありがとうございます
stream から読むのをイメージしていました >>979 さんのが一番良いみたいです あとお願いついでですが '123456789abcdeff0123456789abcdef' ... から [(0x1234, 0x5678), (0x9abc, 0xdeff), (0x0123, 0x4567), (0x89ab, 0xcdef)] ... の様にペアにしたタプルで得るにはどう書けば良いですか?
- 982 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:20:20.54 ]
- [(int(i, 16),int(j, 16)) for i,j in iter(lambda: (f.read(4),f.read(4)), ('',''))]
- 983 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:22:52.44 ]
- import StringIO, struct, binascii
s = '123456789abcdeff0123456789abcdef' f = StringIO.StringIO(s) [struct.unpack('>2h', binascii.a2b_hex(i)) for i in iter(lambda: f.read(8), '')] [(4660, 22136), (-25924, -8449), (291, 17767), (-30293, -12817)]
- 984 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:28:53.08 ]
- くだすれPython(超初心者用) その17
toro.2ch.net/test/read.cgi/tech/1365323116/
- 985 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:33:54.01 ]
- おつぱいそん
- 986 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:35:41.43 ]
- g = (int(i, 16) for i in iter(lambda: f.read(4), ''))
# itertools レシピのgrouper list(itertools.izip_longest(*([g]*2), fillvalue=None))
- 987 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:46:08.46 ]
- int(i, 16) のところで符号付整数にするにはどうすればいい?
- 988 名前:デフォルトの名無しさん [2013/04/07(日) 17:48:13.75 ]
- python3を積極的に導入する理由ってある?
python2でできない、あるいは難しいこととかあるのかな
- 989 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:50:09.54 ]
- ちょっと訂正
int(i, 16) のところで16ビット符号付整数にするにはどうすればいい?
- 990 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 17:57:27.42 ]
- 32767より大きいなら65536を引く
- 991 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:03:21.42 ]
- それでもいいんだけど
int() になんか便利なオプションあるのかなと思って
- 992 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:04:41.99 ]
- >>982 >>983 >>986
出来ました ありがとうございます
- 993 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:17:04.13 ]
- pythonはCのscanfみたいなのとかないのかな。
- 994 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:22:36.47 ]
- Python には現在のところ、scanf()に相当するものがありません。
約 1,220 件 (0.39 秒)
- 995 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:28:46.30 ]
- 正規表現で大概のことは出来るんじゃないかなと思う
- 996 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:29:38.95 ]
- 2から3に乗り換える利点は何ですか?
- 997 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:32:45.39 ]
- デメリットはお前のような奴がいることです
- 998 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:37:02.72 ]
- scanfって正規表現使えたっけ
- 999 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:37:46.57 ]
- >>991
無いよ。
- 1000 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 18:38:53.88 ]
- >>989
16bit目が1なら全bit反転して+1
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|