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


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

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



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

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

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

関連スレ
Pythonのお勉強 Part51
peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

82 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 09:44:11.61 ID:ZCCa5WO9.net]
最小の部分から検証しろ
基本だ

まずAnacondaもpython2も3もアンインストールしてまっさらな環境にしろ
次にpython2.7を入れろ
コマンドプロンプトでpython2と打って起動するか確かめろ
コマンドプロンプトでpip2と打って起動するか確かめろ
次にpython3.5を入れろ
コマンドプロンプトでpython3と打って起動するか確かめろ
コマンドプロンプトでpip3と打って起動するか確かめろ
コマンドプロンプトでpython2と打って起動するか確かめろ
コマンドプロンプトでpip2と打って起動するか確かめろ
コマンドプロンプトでpip2 install twitterと打ってインストールできるか確かめろ
(ipythonでなく)python2を起動してimport twitterできるか確かめろ
コマンドプロンプトでpip3 install twitterと打ってインストールできるか確かめろ
python3を起動してimport twitterできるか確かめろ
ここまでできたらその環境で1年生活しろ
1年後anacondaをインストールしろ

83 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 10:34:23.88 ID:ppTUK35o.net]
>>80

アンインストールはしていないですが、アドバイス通り動かして
みると、発見がありました。3系指定でpip installしたもの(twitter)が、
3系設定にしてあるAnacondaのipythonでimport出来ないのがおかしい、
と思っていたんですが、ご指摘のように、3系の対話シェルの>>>の方で
import twitterを入れたら、import出来る状態になっていました。

だから、3系のipythonの方でなく、>>>コマンドの対話シェルの方へ、
pip3 install モジュール がなされていたようです。これが検証できた
だけでも大きい。感謝です。でも、2系だとipythonと>>>対話シェルの
両方にimport twitterが出来ている。

Anacondaは、3種類入れているんですけど、なぜか最新のAnacondaだけ、
Anaconda Promptが入っていない。前の2つのは、ちゃんとAnaconda
Promptが入っているのに…

コマンドからpython2, あるいは、python3と入力しても起動しません。
pythonと入力すると2系の>>>コマンドの対話シェルが起動します。
だから、やはり2系を呼び出す設定になっている。あと不思議なのは、
環境パスで2系を消去したのに、なぜか普通に2系が使えていること。

Anacondaの一年断食は無理ですね。Anacondaのipythonを中心に使いたいので…。

84 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 13:01:20.11 ID:OuxWCN0r.net]
じゃあ愚かな自殺ってことで終了ですね

85 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 13:17:03.93 ID:ZCCa5WO9.net]
Anaconda環境の質問はAnaconda使ってますって書けよ
スレテンプレにも入れて欲しい

86 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 13:41:46.75 ID:YrgdO5eg.net]
>>81
Condaのドキュメントには、異なるバージョンの

87 名前:pythonが使いたいなら仮想環境を作成して使えと書いてある。
Anaconda2とAnaconda3を両方入れて共存は不可。

標準のpythonなら簡単にできるのになあ。
Anacondaって便利を謳うくせにこんなこともできないの?

使ってる人かわいそう。
[]
[ここ壊れてます]

88 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 13:51:49.37 ID:YrgdO5eg.net]
あ、でも僕は今日からAnaconda使うことにしました。
だってPython3以外要らないから。

89 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 15:51:15.95 ID:cQ14RgjJ.net]
スレ違いでしたらすいません。sqlite3で他のプロセスがロックを掛けているかを知る方法はないでしょうか

どうも連続して処理をすると、前の別プロセスが終了する前に変更を実行しようとして、書き込めないことがあるようで

悩んでいます。

90 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 17:05:45.81 ID:6Q7B0eK6.net]
アルファベットと数字で構成されている文字列から1文づつ文字コードを取り出して処理に使いたいのですが、
良い方法がなかなか見つかりません。
ヒントをいただけると助かります。



91 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 18:08:33.74 ID:OfFAzhIz.net]
>>86
事前に確認するような方法だとtocttou問題と同じ理屈で書き込めないので無駄
素直にリトライしよう

92 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 18:12:38.69 ID:OfFAzhIz.net]
>>87
文字列にordを作用させると文字コードになるが、そういうことではないのか?
print(list(map(ord, 'あいうえお')))

93 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 18:21:56.78 ID:gTchn+Mo.net]
>>88
わかりました。ありがとうございます

94 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 00:24:03.11 ID:OgxzOe/C.net]
>>81
>>74-75 にも書いたように、
端末(シェル)を別に起動すると、環境変数は共有しない

環境変数を共有するには、
そのシェルからコマンド(子プロセス)を起動して、export した場合のみ

対話シェルにて、bashが起動されるたびに、
設定ファイル、~/.bashrc か、~/.bash_aliases が読み込まれる

そこに、python-2.7.11 を使う、環境変数が定義されているとして、
export PYTHON_HOME=/usr/local/python-2.7.11
export PATH=$PATH:$PYTHON_HOME/bin:

仮想環境はたぶん、python系の環境変数で、
実ディレクトリを切り替えているから、
端末を起動したら、常にすべての、
python系の環境変数を、チェックすべき

まず、仮想環境の仕組みを学ぶ

95 名前:デフォルトの名無しさん [2016/03/06(日) 00:39:19.62 ID:O4spCoyd.net]
>>81
Anaconda Prompt なんてものはありません。

96 名前:デフォルトの名無しさん [2016/03/06(日) 01:18:16.22 ID:qE3TWZVE.net]
>>74>>75

シェル内で、そういうコマンド書いて設定するのはLinuxとかじゃないんですか。
自分はwindowsユーザーなので、少し違うかもしれない。

誰かが教えてくれたコマンドプロンプトからPython2 実行で2系対話シェル、
Python3 実行で3系対話シェル起動の仕様も、OS X/Linuxで使う場合の仕様で、
windowsでは、>pythonで、設定されているバージョンの対話シェルが
起動する仕様になっている感じです。

つまり、ここでの話が噛み合わないのは、OS X/Linuxユーザーとwindowsユーザーで
使用方法が異なること。あと、Ancondaをひとつだけ使っているユーザーと
複数使っているユーザーで、設定なり、出来ることがたぶん異なること。

2系と3系では後方互換性が低くて、両者の仕様が別の言語に感じるくらいに
異なることもあるので(たとえば、文字コード関係など)、ややこしくなる。
2系のバージョンで出来ることが、3系で出来ない、あるいは、その逆も然り、
といった感じですね。

97 名前:デフォルトの名無しさん [2016/03/06(日) 01:21:56.27 ID:qE3TWZVE.net]
新しいパソコン買ったら、3系PythonとAnaconda1つだけで統一して、
すっきりした状態で使う予定なので、それまで、この2系と3系による股裂きの刑を
しばらく楽しんでみようと思いますw 4系のPythonが出来たら、またループ状態ですがw
でも、まだ買って1年も経っていない、新しいパソコンだから、しばらくは
この半端に2系と3系のPythonを使う状態が続くのかなw

>>91
仮想環境は、使ったことないので分かりません。なるべく、シンプルに
使いたいんですよね。ヴァージョンの切り替えが面倒な感じがするのですが、
機会があったら、言われたように、仮想環境を学んで使ってみようかな。


>>92

98 名前:

Anacond Command Promptで、入ってます。
新しいAnacondaでは、それがないのでPython3系のコマンドに入れなくて、
困っているのです。仕方がないので、3系のAnacondaは、
Anaconda IPython だけで使っています。3系のNotebook(Jupyter)は
使えます。
[]
[ここ壊れてます]

99 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 01:43:51.57 ID:hANsEkzf.net]
>>93
windowsでも環境変数は同じように設定するよ
そもそもパソコンの使い方から勉強しなおした方がいいのでは?

100 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 02:11:29.68 ID:OgxzOe/C.net]
推測だけど、たぶん、Windowsでも同じじゃないの?
python系の環境変数で、実ディレクトリを切り替えているんじゃないの?
Windowsでの、python系の環境変数をすべて見てみ

python-2.7.11、3.5.1 の実行ファイルは、
どのディレクトリにインストールされているか、
そこを、PYTHON_HOME に設定して、
python2系・3系で切り替えているわけだろ?

export PYTHON_HOME=何々/python-2.7.11
export PYTHON_HOME=何々/python-3.5.1

その仕組みを理解すべき



101 名前:デフォルトの名無しさん [2016/03/06(日) 02:19:16.52 ID:qE3TWZVE.net]
96

今、パソコン開いてないので、あとで、見てみるけど、windowsの環境変数は、
システムから入って、そこで使うPythonのバージョンのパスを入れるだけ。
あと、その環境変数の中には、Anacondaのそれぞれのバージョンのパスも
入っているので、pythonシェルからの呼び出しが、もしかしたらAnacondaのパス
を通じて為されているのかもしれないし…

102 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 04:39:01.56 ID:OgxzOe/C.net]
Anaconda の仕組みを解説した、日本語のサイトは見つからないね

MacOSXだけど、以下のサイトが参考になるかも

Anaconda 環境に独自にモジュールを追加する
ttp://datalove.hatenadiary.jp/entry/python/anaconda/how-to-install-3rd-party-module-into-anaconda

103 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 04:59:34.75 ID:OgxzOe/C.net]
Anaconda の環境変数PATHって、通常のPATHよりも、前に置いているから、
システムの挙動が変わってしまうのじゃないか?
export PATH="/Users/user_name/anaconda/bin:$PATH"

普通は、今までのPATHの後に追加するけど
export PATH="$PATH:/Users/user_name/anaconda/bin"


以下のサイトでは、pyenv でエラーが出るようになったとある。
pyenv: curl: command not found

ttps://teratail.com/questions/23057

104 名前:デフォルトの名無しさん [2016/03/06(日) 05:42:24.62 ID:qE3TWZVE.net]
さっきwindowsアプリの方を確認していたら、
2番目に導入したAnaconda2に、なぜかNEWの表示と共に
Python3系が使えるAnaconda Promt(py35con)というのが
彗星のように輝かしく追加されていて、それで3系のPython
を使えるか幾つかのpyファイル実行などで動作検証してみたら、
ちゃんと使えるようです。

[py35con] C:\Users\User名> で、Python3系設定がされた
Anacondanoのコマンドプロンプトが表示されるようになった
ので、そこからPython3系のpip installも無事出来る
ようになりました。IPythonも>>>コマンドの対話シェルもちゃんと使える。


前の書き込みで、pip install twitterで、3系のIPythonに
それが反映されていないらしく、import twitterが入らなくて
困ると書いたけど、今回は、ちゃんと3系のIPythonにもpip install
したものがimportで入るようになっていました。

ああ、良かった。これで問題は解決された。色々アドバイス
してくれた人達にも感謝です。

2系と3系のPythonを使い分けるには、Anaconda Promtで操作 出来るので
あれば、Pythonの2系用と3系用のAnacondaを2つ入れて、
それぞれ使い分けて使えばいい感じがする。ちょっとした動作テスト
をするだけなら、virtualenvみたいな仮想環境を設定・有効化/無効化
して使えばいい感じがする。

105 名前:デフォルトの名無しさん [2016/03/06(日) 05:43:04.61 ID:qE3TWZVE.net]
>>98>>99 ありがとうございます。解決出来ました。

前に環境変数で、2系のPythonパスを消去したのに、なんで2系Pythonが
そのまま普通に動くのだろうか、と不思議だったのだけど、Anacondaの
パスが入っているので、それを通じて動くようになっているのかな、
と推測したんだけど、真相は定かではない。怖いから、また、念のため
Python2系のパスも再度、入れておいたけれど、Anaconndaのパスが入って
いれば大丈夫そう。

106 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 10:34:47.40 ID:h6QpGbpa.net]
本末転倒感がすごいですね

107 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 13:00:56.36 ID:jIkAers3.net]
Windowsでもpy.exe経由で実行すればシバンで指定できるよ
普通にインストールすれば .pyファイルはpy.exeに関連付けされるし
py.iniでシバンに何書かれてるときどのバージョン実行するかも指定できる

108 名前:デフォルトの名無しさん [2016/03/06(日) 13:36:18.01 ID:9p8a7DdE.net]
アホな質問orスレ違いだったら申し訳ありません
Raspberry Piでpythonを使ってるのですが
.pyのなかで他のディレクトリにある.pyを実行するにはどうすればいいですか?
ggると
commands.getoutputしか出てこなくてこれだと変数に値を代入するだけだと思うのですが・・・

109 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 13:49:21.74 ID:h6QpGbpa.net]
どういうググり方だとそれにたどり着くんだろう…?

そういう場合はsubprocess.call使う

110 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 13:54:26.02 ID:h6QpGbpa.net]
もしかして#include(のようなこと)をしたいんです?
だとしたら、「他のディレクトリ」が正しいpythonのパッケージ(またはモジュール)の構造をしていて、
かつpythonがimport時に発見できる場所(sys.pathの直下)にないと無理です
初心者には厳しいのではないでしょうか?



111 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 14:22:03.27 ID:ehayewiV.net]
入門 Python 3 買った
早くも第2刷になってる

112 名前:デフォルトの名無しさん [2016/03/06(日) 14:44:04.24 ID:9p8a7DdE.net]
>106
ありがとうございます
subprocessを使ってみます。python2年目の小5には少々難易度が高そうですが

113 名前:デフォルトの名無しさん [2016/03/06(日) 14:44:09.08 ID:9p8a7DdE.net]
>106
ありがとうございます
subprocessを使ってみます。python2年目の小5には少々難易度が高そうですが

114 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 14:56:01.23 ID:6EHt/C22.net]
importしたいということであれば、呼び出す*.pyファイルが

/path/to/sample.py

のように配置されているなら

import sys
sys.path.append('/path/to')
import sample

とすればimportできる
名前がかち合ったりすると動かないかも知れないが
その場合は質問するよりモジュールの基本を勉強した方よか

115 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 15:05:03.40 ID:e89tqiOX.net]
よくできた小5だ
頑張れ

116 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 23:31:48.77 ID:Ut9DwT6U.net]
>>111

お前は頭が小5のままで止まった、おっさんだなww

117 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 07:43:40.22 ID:8RQ2bRCe.net]
ストレス貯まってるんですね
ご冥福をお祈りいたします

118 名前:デフォルトの名無しさん [2016/03/09(水) 08:56:06.36 ID:3W3JogKR.net]
https://ideone.com/fork/84F6Zw

やっぱり、Pythonは2系よりも3系の方が言語仕様やグラフが洗練されて見える。
もっと早く、3系の良さに気付くべきだった。上記に書いたコードも2系だと
import import seaborn as sns as sns 部分のグラフ処理が入らなかったりするけど、
3系だと綺麗なseabornのグラフが入って、心地良い。

119 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 10:01:38.59 ID:FHx2+hCK.net]
言語仕様が洗練されたのは当たり前だろ(退化してたらキチガイじゃねえか)
グラフが表示されないのは2系3系の差というより
ただのバグのような気がする

120 名前:デフォルトの名無しさん [2016/03/09(水) 12:25:03.48 ID:xIqR/5Nm.net]
(変なカッコ書きする奴って頭が悪そうだよな)



121 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 12:38:00.41 ID:/NJSTcae.net]
>>116
参考になります

122 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 13:08:37.80 ID:Xq+i7VCr.net]
(ワロタ)

123 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 15:00:08.60 ID:01BFUa+0.net]
(大抵のソフトウェアはバージョンアップすると退化するよね。)

124 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 15:56:25.91 ID:3jrP1VBb.net]
んなこたない

ある程度以上普及して枯れてきたやつに限り
惰性的なバージョンアップで堕落する

125 名前:デフォルトの名無しさん [2016/03/09(水) 16:00:11.42 ID:poRZGeKa.net]
有料のソフトウェアは、新OSでも動作を保証しなければならないだろう

126 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 18:11:20.4 ]
[ここ壊れてます]

127 名前:7 ID:U2csdxnD.net mailto: PythonでPandasのPlot機能を使えばデータ加工からグラフ作成までマジでシームレス
http://goo.gl/WtDWAZ
[]
[ここ壊れてます]

128 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 13:52:44.40 ID:Y8XXBR6y.net]
python2.7 pyinstaller最新版でビルドしてコマンドプロンプトから作ったアプリ起動すると
ascii codec cannot encodeって出てきて起動できない
なんかu"ああああ"って日本語のとこでおかしくなります

129 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 14:32:58.70 ID:EeoAGdLe.net]
そうですか
pyinstallerなんか使ってるからですね
馬鹿みたいでイイよ

130 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 18:59:26.94 ID:r2FPz58s.net]
pyinstallerは、パイインストーラーって読むの?
じゃあ、PyPyは…



131 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 20:11:16.59 ID:ymoy5mgn.net]
そりゃパイパイよ
ππ

132 名前:デフォルトの名無しさん(玉音放送) mailto:sage [2016/03/10(木) 21:23:20.25 ID:0JQd2A1b.net]
シミュレーションくらいしかやらないから
データ加工でエクセルに比べてどう優位性があるのかわからん

133 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 23:09:37.51 ID:A4gGRzzJ.net]
pywinautoでのコンテキストメニューの操作方法わかる方教えて下さい。
目的のメニュー位置のテキストは取得できましたが、
clickやselectを実行してみるとメニューは閉じるけど実行されません。
環境:Python 2.7.11 pywinauto 0.5.4

from pywinauto.application import Application
app = Application().Start(

134 名前:128 mailto:sage [2016/03/10(木) 23:18:21.87 ID:A4gGRzzJ.net]
コードが切れてしまいました。
コードは下記となります。よろしくお願いします。
ttp://codepad.org/xfxKhvS8

135 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 23:53:00.88 ID:nS2MfweZ.net]
Rからpythonを呼び出すいい方法はありますか?

136 名前:デフォルトの名無しさん mailto:sage [2016/03/11(金) 00:05:45.18 ID:sWFF5c5F.net]
>>128
app.Notepad.MenuSelect(u"編集->貼り付け")

137 名前:デフォルトの名無しさん mailto:sage [2016/03/11(金) 07:51:48.96 ID:HJn33USj.net]
>>131
コンテキストメニューを操作したいのです。
メモ帳でテストしているだけで貼り付けをしたい訳ではありません。
わかるづらくてすみません。

138 名前:デフォルトの名無しさん [2016/03/12(土) 12:43:16.37 ID:AlbUYP0L.net]
短いスコープで変数や関数宣言のためにif 1:を使っていますが
バッドノウハウではないかと危惧しています
かわりに良い方法は何でしょうか?

if 1:
  pass

139 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 12:49:59.37 ID:lGqei3yA.net]
そもそもpythonはdefとclass以外スコープを作らないから
if 1は何の意味もねーぞ

140 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 12:51:56.03 ID:lGqei3yA.net]
ブロックと勘違いしてる?



141 名前:デフォルトの名無しさん [2016/03/12(土) 13:51:08.06 ID:AlbUYP0L.net]
>>134-135
ありがとうございました
クラス、きちんと書いておきます

142 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 10:59:23.54 ID:q/6RNJn3.net]
GUIから文字列を入力させたいんだけど、

from tkinter.simpledialog import askstring
res = askstring("title", "message")
print(res)

こうすると、AttributeError: 'NoneType' object has no attribute 'winfo_viewable' というエラーになる。
この前に

import tkinter
root = tkinter.Tk()

を入れるとちゃんと動作はするけれど、いらないウインドウが余計に一つ現れる。
なんとかならないですか?

環境は、Windows7にPython 3.5.1 :: Anaconda 2.5.0 (64-bit)です。

143 名前:デフォルトの名無しさん [2016/03/16(水) 11:07:12.56 ID:CZzGqLtG.net]
python 3.3でprint (["こんに ちは"])を実行すると['こんに\u3000ちは']と表示されてしまいます。
全角スペースをそのままさせるにはどうしたら良いの

144 名前:でしょう? []
[ここ壊れてます]

145 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 13:31:48.16 ID:MRtgESvf.net]
>>137
つ root.withdraw()

146 名前:デフォルトの名無しさん [2016/03/16(水) 18:10:10.17 ID:Rbdxk85U.net]
>>138
>>> print (*["こんに ちは"])
こんに ちは

147 名前:デフォルトの名無しさん [2016/03/16(水) 20:53:56.04 ID:ru4VtbP0.net]
以下ような空行で区切られたテキストデータを読むときに
aの部分は無視して2つ目のブロックのbの部分からリストにしたいのですが
なにかいい方法はないでしょうか。

aaaaaaaaa
aaaaaaaaa

bbbbbbbbb
bbbbbbbbb

148 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 21:10:42.54 ID:NYy+u6T+.net]
>>141
普通に空行まで読み飛ばせばいいだけだろ

149 名前:デフォルトの名無しさん [2016/03/16(水) 21:35:43.43 ID:ru4VtbP0.net]
空行の位置を特定してそこまで読み飛ばすという操作が分からないのです。

150 名前:デフォルトの名無しさん [2016/03/16(水) 22:00:59.65 ID:kmHz5x2E.net]
ifは?



151 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 22:05:58.14 ID:/j2iEmJk.net]
>>143
適当に書いているのでバグってたらごめん。

import sys
f = False
lst = []
for line in sys.stdin:
__stripped = line.strip()
__if f: lst.append(stripped)
__if not stripped: f = True
print(*lst)

152 名前:デフォルトの名無しさん [2016/03/16(水) 22:07:11.80 ID:iNKCnWDy.net]
普通読み飛ばすというのは
「読み込み」をすっとばす
ではなく
「読み込み」するけど読んだ内容はすてる
という意味なんやで

153 名前:デフォルトの名無しさん mailto:sage [2016/03/17(木) 06:54:02.01 ID:iTg3Mqjt.net]
上から1行ずつ読んでいって、空行があれば、

次の行から、リストに格納する

154 名前:138 [2016/03/17(木) 09:26:15.84 ID:1s2Sxj3z.net]
>>140
ありがとうございます。調べてみるとタプルってやつでしょうか?
このパターンではうまくいくのですが実際にはリストをリストのままテキスト出力したいのです。
リストと同じテキストを作成して出力しても良いのですが、
全角スペースだけ出ないのも不思議に思いまして。
print ([[\"こんに ちは\"],[\"こ んにちは\"]])

155 名前:138 [2016/03/17(木) 09:30:14.48 ID:1s2Sxj3z.net]
別件で、pandasでcsvから取り出したデータの一部を
リストなり文字列なりに変換するのはどうすればいいのですか?

156 名前:デフォルトの名無しさん mailto:sage [2016/03/17(木) 09:59:14.92 ID:yAA5+Veb.net]
148は難しいと思いますよ
149はDataFrame.as_matrix(ndarrayを返す)経由でリストやらなにやらにできるでしょう

157 名前:デフォルトの名無しさん [2016/03/17(木) 10:10:26.85 ID:1s2Sxj3z.net]
>>150
ありがとうございます。rubyだとpで簡単に出力できるんですけどねぇ。
どうして全角スペースだけ化けるんでしょう?

149は英語で探してみたらありました。
mydata.values.T.tolist()でできました。

158 名前:デフォルトの名無しさん mailto:sage [2016/03/17(木) 11:00:23.80 ID:ls5F9gX1.net]
>>151
「リスト」として出力してるので非表示の文字は適宜エスケープされてる
むしろSPACE (U+0020)が特別扱いだよ

LINE FEED (LF) (U+000a)は"\n"になるし
NO-BREAK SPACE (U+00a0)などもエスケープされる

159 名前:デフォルトの名無しさん mailto:sage [2016/03/17(木) 11:15:05.25 ID:3vycg2Fh.net]
全角スペースだけ気になるなら置換してしまおうw
print(str(['こんに ちは']).replace('\\u3000', ' '))

160 名前:デフォルトの名無しさん [2016/03/17(木) 11:20:47.07 ID:1s2Sxj3z.net]
>>152
解説ありがとうございます。基本リストをそのままにテキスト化は難しいということですね。

>>153
ありがとうございます。
確かに特定文字列なので置換するのも有りですね。若干釈然としませんがw



161 名前:デフォルトの名無しさん [2016/03/17(木) 20:07:12.94 ID:0eEUF0R8.net]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Dog(object):
____def __init__(self, name):
______ self.name = name
class UltraDog(Dog):
____def __init__(self, name, type):
__________super(UltraDog, self).__init__(name)
__________self.type = type
__________def

162 名前:bar():
____________print '%s says "wan!".' % (name)
foo=UltraDog("Taro", "akita")
print '%s is %s.' % (foo.name, foo.type)
###↓でbar()を呼びたいのですが、どう書いたらいいかわかりません…###
foo.bar()
[]
[ここ壊れてます]

163 名前:デフォルトの名無しさん mailto:sage [2016/03/17(木) 21:31:25.10 ID:ls5F9gX1.net]
1. barのインデントを下げて__init__と同じレベルにする
>>155だと__init__の中でbarを定義している、インデントは重要
2. barの引数にselfを加える
selfを明示しないとメソッドにならない、クラス定義のお約束
3. barの中のnameはselfから取り出す
selfはインスタンス自身をあらわす引数、これもお約束

164 名前:デフォルトの名無しさん [2016/03/17(木) 21:50:37.00 ID:0eEUF0R8.net]
>>156
123総てそのとおりしたら、無事動きました!!!
ご回答ありがとうございました!

165 名前:デフォルトの名無しさん [2016/03/18(金) 22:53:40.23 ID:XviCrBsE.net]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#####img2pyがうまく動作してくれません#####
##環境は wxPython3.0-win32-py27 32-bit Python 2.7です。
import sys
from wx.tools import img2py
command_lines = ["-i myicon.ico IcoImages.py"]
for line in command_lines:
args = line.split()
img2py.main(args)
###エラーの文面↓
###UnicodeDecodeError: 'utf8' codec can't decode byte 0x81 in position 12: invalid start byte
###コマンドプロンプトで python img2py.py -i myicon.ico IcoImages.py とやっても同じエラーがでマス。
###日本語英語中国語で一通りぐぐりましたが、皆さんカンタンに↑のコマンドで.pyを得られているようで、情報がみつかりませんでした。

166 名前:デフォルトの名無しさん [2016/03/18(金) 22:54:57.45 ID:XviCrBsE.net]
連投すみません
インデントが消えてしまいました;
半角スペースを_で置換しておきます

import sys
from wx.tools import img2py
command_lines = ["-i myicon.ico IcoImages.py"]
for line in command_lines:
____args = line.split()
____img2py.main(args)

167 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 04:40:36.30 ID:5djHDgqa.net]
「文字コード 0x81」で検索!
ascii文字は、0x7F までじゃないの?
0x80以上は、Shift-jisの全角文字かな?

ファイルを、UTF-8 で保存せず、Shift-jisを使っているとか。

メモ帳を使うと、BOM付きUTF-8になって、バグるとか、
TeraPadだと、UTF-8N(BOM無し)で保存できる

>for line in command_lines:
そもそも、1行しか無いのに、for を使うのはおかしいだろ

>command_lines = ["-i myicon.ico IcoImages.py"]
なんで、[ ]を使うの? 普通に文字列を使ったらアカンの?

ひょっとして君は、Pythonの本を読まずに、プログラミングしているのか?

168 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 10:11:26.87 ID:/ZaLB4zI.net]
>>158
たぶんUnicodeDecodeErrorはwx内部で発生してる
だからエラー原因は最後の行だけではわからない
"Traceback (most recent call last):"から始まる全部があれば手がかり増える

エラーが長いなら>>1のコード貼り付けるサービスを使ってほしい

169 名前:デフォルトの名無しさん [2016/03/19(土) 11:00:08.13 ID:Ngg3+V62.net]
>>160
>ファイルを、UTF-8 で保存せず、Shift-jisを使っているとか。
>メモ帳を使うと、BOM付きUTF-8になって、バグるとか、
秀丸でBOMナシUTF-8で保存しています

>なんで、[ ]を使うの? 普通に文字列を使ったらアカンの?
もとはもっと一杯同様の処理があったのですが、うまくいかないので1つに減らしました

170 名前:159 [2016/03/19(土) 11:08:24.52 ID:Ngg3+V62.net]
>>160-161
1つのファイルを対象にコマンドプロンプトを直接叩いても、↓のようにまったく同じエラーが出ます
pastebin.com/Rfb6Jn9a
 ※対象ファイルはC:\Python27\Lib\site-packages\wx-3.0-msw\wx\toolsのなかにもってきています。



171 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 11:09:59.06 ID:VZJ2bs3a.net]
差し支えない範囲でスタックトレースも貼

172 名前:黷驍ニいいですな []
[ここ壊れてます]

173 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 11:14:21.63 ID:VZJ2bs3a.net]
あ、スタックトレース貼ってあるね
良好良好

174 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 12:28:29.86 ID:VZJ2bs3a.net]
>>163
スタックトレースの範囲ではUnicodeDecodeErrorが発生する余地なさそう
wxWidgetsのソースコードまで読む気にはならなかったので正確な原因は分かんない

ここからは予想
カレントディレクトリパスに日本語含んでない?

ImageMagickっていうプログラムで相対パスを使うと内部で絶対パスに直そうとしてて
その時にエンコーディングの考慮を忘れているためにエラーを起こすってのがあった
それに似ている気がする

175 名前:デフォルトの名無しさん [2016/03/19(土) 12:30:46.96 ID:/ZaLB4zI.net]
>>163
c++のソースまでいくやつだね・・・
https://github.com/wxWidgets/wxPython

_gdi_.Bitmap_SaveFileをたどっていくと
https://raw.githubusercontent.com/wxWidgets/wxPython/master/src/msw/_gdi_wrap.cpp
のc++ソースコードの
SWIGINTERN PyObject *_wrap_Bitmap_SaveFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs)
の関数の
wxStringに絡んだ操作でエラー発生していると思うけどwxWidgets詳しくないので追求できん

176 名前:159 [2016/03/19(土) 12:56:47.65 ID:Ngg3+V62.net]
>>166
>カレントディレクトリパス
C:\Python27\Lib\site-packages\wx-3.0-msw\wx\tools
です。
「.」がいかんのかと思い、
C:\にターゲットファイルとpyファイルをもってきて
コマンドプロンプトをc:\で開いてから
img2pyを実行しても同じエラーになります

>>167
私ごときではどうしようもないということですね…


お二方とも、ご回答ありがとうございました。

177 名前:デフォルトの名無しさん [2016/03/19(土) 13:37:22.43 ID:GpBZpbUt.net]
>>168
iconファイルに問題あるのでは?

VM上のXPに
https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi
をインストール
PATH、PYTONPATHを設定
https://sourceforge.net/projects/wxpython/files/wxPython/3.0.2.0/wxPython3.0-win32-3.0.2.0-py27.exe
をインストール
適当なファイルを
www.google.com/favicon.ico
拾ってきて

C:\tmp\PyProject>python C:\Python27\Lib\site-packages\wx-3.0-msw\wx\tools\img2py.py favicon.ico favicon.py
Warning: -n not specified. Using filename (favicon) for name of image and/or catalog entry.
Embedded favicon.ico using

178 名前:159 [2016/03/19(土) 14:45:21.51 ID:Ngg3+V62.net]
>>169
www.google.com/favicon.ico 使ってやってみても
>163同様のエラーを吐いてうまくいきませんでした。

wxpythonを入れなおしてみます

179 名前:159 mailto:sage [2016/03/19(土) 14:52:41.10 ID:Ngg3+V62.net]
入れ直してグーグルのファビコンでやってみましたが
やはり同じエラーが出ました。。。

申し上げ遅れてしまいましたが、
>>169さん ありがとうございます。

180 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 16:52:59.50 ID:rc40nbIH.net]
>>171
Windowsのユーザ名が日本語を含んでいないか?
img2py.py内で
https://github.com/wxWidgets/wxPython/blob/master/wx/tools/img2py.py#L153
tempfile.mktempが使われている

>>> import tempfile
>>> tempfile.mktemp()
を実行してみて



181 名前:159 mailto:sage [2016/03/19(土) 18:02:27.83 ID:Ngg3+V62.net]
>>172
あああああその通りです!
このマシンだけ、軽い気持ちでユーザー名に全角を使ってました! (・ω・`)
今から半角に変えてきます
それからまたためします

ありがとうございます!

182 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 18:10:57.55 ID:VZJ2bs3a.net]
天才か
tempfileは盲点だった






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

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

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