X



くだすれPython(超初心者用) その38
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん垢版2018/05/17(木) 11:09:14.54ID:WeqM6vIc
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その37
http://mevius.5ch.net/test/read.cgi/tech/1521271945/
0002デフォルトの名無しさん垢版2018/05/17(木) 12:20:17.76ID:iZJ2pTFF
全くPythonのことを知りませんが、Windowsでの開発環境(IDE)は何が良いのでしょうか?
最近主に使ったのは、VisualStudio(C#)とAndroidStudio(Java)です。
0003デフォルトの名無しさん垢版2018/05/17(木) 12:24:16.25ID:HY+Xmele
o2
0004デフォルトの名無しさん垢版2018/05/17(木) 12:47:30.54ID:8m5Ep3+2
>>2
たぶんはやってるのは PyCharm
でも おれは せっかくだから この Sakuraエディタを つかうぜ!
0006デフォルトの名無しさん垢版2018/05/18(金) 01:25:25.00ID:bfCaazYM
>>2
VisualStudioに慣れている人なら、2015か2017のインストーラーでPythonツールを追加インストールするだけで
ソリューションにPythonプロジェクト(.pyproj)が組み込める
Python環境を複数入れてても設定で切り替え出来るし、構文チェックやデバッガも使えるから楽
0007デフォルトの名無しさん垢版2018/05/18(金) 01:30:17.41ID:bfCaazYM
前スレの >>988
株価予測は分類系のAIとはモデル構造が違うから、まずRNNモデルの入出力方法を覚える
慣れてきたらRNNの代わりにLSTMを使ってみる

ChainerでのRNN構築が難しそうなら、Kerasの方が簡単かもしれない
Kerasなら同じプログラムのままでGPU演算も自動判別して切り替えてくれる(GeForce系のグラボがあれば)
0008デフォルトの名無しさん垢版2018/05/18(金) 09:13:51.93ID:C1p7hCcF
pythonで入力待ちしないでキー入力を受けとりたい(キー入力判定したい)んですが良い方法ありますか?
環境はPython3.6 Win10 PowerShellです
0009デフォルトの名無しさん垢版2018/05/18(金) 09:54:37.86ID:syGPQ258
>>6
あー、追加でPython環境を入れられますね
VSに慣れてるから、これが一番とっつきやすいかな
0010デフォルトの名無しさん垢版2018/05/18(金) 12:21:59.26ID:0bNlNqhZ
>>6
VisualStudioいいよね
デッバクが楽すぎる これが圧倒的に
使いやすいと思うけどいまいち使われてない気がする
0014デフォルトの名無しさん垢版2018/05/18(金) 16:09:40.23ID:0IKxFX6d
マルチスッドレとかいうスレもあるしな
0015デフォルトの名無しさん垢版2018/05/18(金) 16:39:16.93ID:mfuydgPy
フォークて何や?
0017デフォルトの名無しさん垢版2018/05/18(金) 22:39:34.06ID:G//xWDDK
デッバグ知らんのか。
0021デフォルトの名無しさん垢版2018/05/19(土) 00:47:28.51ID:cUBYzyDN
2ちゃんねる時代は順番や文字を入れ替えて書くのが当たり前だったけど、最近はそうでもないのかな
オパーイとかと一緒だろ
0022デフォルトの名無しさん垢版2018/05/19(土) 00:49:23.47ID:O40Hbg/A
日本人は耳が変だらんから
マルティ->マルチ、ディーバッグ->デバッグと聞こえるし
日本語をローマ字にするときでもrの発音やfの発音になるのを割り当てるからな
日本語の富士山はFujiyamaよりHujiyamaの方が日本語の発音に近いのに
0025デフォルトの名無しさん垢版2018/05/19(土) 07:15:07.33ID:b7x1I7X/
>>13
見逃してた。いつぞやのケブンリッジと同じでやはり最初と最後が合ってると途中の文字順が違ってても騙されるな。
0027デフォルトの名無しさん垢版2018/05/19(土) 08:05:39.40ID:Uou9JhAx
>>21
オパーイやセクースは
何かタイプして楽しいじゃん。
デッバグはイけてないだろ。
0029デフォルトの名無しさん垢版2018/05/19(土) 08:53:18.60ID:ijkQlh0o
>>22
マルチはむしろムーティって聴こえる
0030デフォルトの名無しさん垢版2018/05/19(土) 09:39:24.26ID:Z0jiH0Xz
最近超話題の聞き取り、Laurel and Yanny
日本人が月桂樹(ローレル)を英語で言ったら、ネーティブにはYannyと聞こえるらしいからな

日本人はCambridgeのmをンと発音するニダで
ネーティブがそれ聞くとCanbridgeってなってなにそれなんだろう
0031デフォルトの名無しさん垢版2018/05/19(土) 09:47:37.12ID:Z0jiH0Xz
pythonユーザーに関してはyoutube(日本人はようつべと発音)とかの英語のビデオで
Python学習が普通になったから、英語の発音や聞き取り力がかなり高い奴が多いらしいよな
0033デフォルトの名無しさん垢版2018/05/19(土) 23:32:16.20ID:Ki+rvsO8
>>12
ありがとうございます。確かにthreadingを利用してマルチスレッド化→入力待ち関数とループ処理に分割、というのが良さそうですね。

Windowsではwin32api等を利用すると標準入力などで出来ることが増えそうですが、初心者には難しいですね…
0035デフォルトの名無しさん垢版2018/05/20(日) 00:47:24.73ID:KHjLXF7u
if re.match(r'[0-9]+', target):
が他に書き方あるかって話?
実用的かはともかく、setにして差集合を取る方法でも書ける
0037デフォルトの名無しさん垢版2018/05/20(日) 11:21:59.27ID:V9eOsuAz
>>33
初心者に難しいって言ってたらいつまでも初心者だぞ
薄皮一枚破った先に素晴らしい世界があるのに
0038デフォルトの名無しさん垢版2018/05/20(日) 13:46:03.67ID:KHjLXF7u
>>36
どこまでやる気なのか知らないけど、ほとんどの場合PyTorchやKerasやChainerで十分でしょ
自分にはこれこれこういう理由でTensorflowが必要だと言えるようになってからTensorflowを始めるといいよ
0043デフォルトの名無しさん垢版2018/05/21(月) 17:51:27.48ID:/fyuPWYc
pywin32でエクセルを開くと、稀に「呼び出し先に拒否されました」と表示され
エクセルのオープンに失敗する。
原因がわからん。
同じような経験した人います?
0044デフォルトの名無しさん垢版2018/05/21(月) 19:35:52.96ID:jGdjFtIo
既にExcelアプリで開いてるファイルを
書き込みモードで開こうとしたとか?
Excelは書き込みロックしやがるから
0046デフォルトの名無しさん垢版2018/05/22(火) 17:40:24.58ID:8rzeJe30
[ [x1,y1], [x2,y2], ........]というリストがあるとして
y成分をある一定以上になるまで足していった時のx成分はどうやって求めたらいいでしょうか?
0049デフォルトの名無しさん垢版2018/05/23(水) 12:35:17.11ID:NOnrbGKy
超既出かもしれませんが。
SpyderやIDLE上で実行するとメインスレッドが終了してもデーモンスレッドが終了しないまま実行され続けるのは
SpyderやIDLE固有の問題ですか?
コマンドプロンプト上で実行した場合では正常に終了するのですが。

以下のようなコードです。
import threading
import time

def daemonThread():
while True:
print('デーモンスレッド実行中')
time.sleep(1)

daemon_thread = threading.Thread(target=daemonThread, daemon = True)
daemon_thread.start()

for i in range(5):
print('メインスレッド実行中')
time.sleep(1)
print('メインスレッド終了')
0050デフォルトの名無しさん垢版2018/05/23(水) 13:03:33.06ID:NOnrbGKy
インデントに失敗しました。
全角スペースでインデントしているので半角スペースに直して頂けると幸いです。
import threading
import time

def daemonThread():
 while True:
  print('デーモンスレッド実行中')
  time.sleep(1)

daemon_thread = threading.Thread(target=daemonThread, daemon = True)
daemon_thread.start()

for i in range(5):
 print('メインスレッド実行中')
 time.sleep(1)

print('メインスレッド終了')
0051デフォルトの名無しさん垢版2018/05/23(水) 19:06:36.04ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

BYX24
0052デフォルトの名無しさん垢版2018/05/24(木) 08:15:04.43ID:iCU5E11d
@propertyについて質問です。

@property def x(self):と
@x.setter def x(self,value):
が実装されたTestクラスについて、
この引数valueはTestクラスによって作られたインスタンスtest_instanceの変数(プロバティメソッド)test_instance.xの値が代入されるという考えでよろしいのでしょうか?

以下がその例です。

class Test:
def __init__(self):
self.number = 0

@property
def point(self):
return self.number

@point.setter
def point(self,value):
if value > 50:
print("You succeeded")
else:
print("You failed")

math = Test()
print(math.point)
math.point=66

>>>0
>>>You succeeded

引数valueにTestクラスのインスタンスであるmath.pointが渡されるまでの過程があまりしっくり来ません。
0053デフォルトの名無しさん垢版2018/05/24(木) 10:13:25.28ID:xCMwrCN4
>>52
@propertyはデコレータ(@)を利用したproperty(fget=直下の関数)が実体のクラス変数です
データデスクリプタプロトコルを実装しており、インスタンス変数が如く扱われると発動します
https://docs.python.org/ja/3/howto/descriptor.html
有り体に言えば、同名インスタンス変数への読み書きが、設定した関数に転送されます
math.point = 66は実質type(math).__dict__['point'].__set__(math, 66)として処理され
valueには代入の右辺が直接入るので、インスタンス変数としてのpointは介在できません
0054デフォルトの名無しさん垢版2018/05/24(木) 10:14:05.51ID:nuo1NuUv
>>52
Spyderのデバッガで処理を追っていくと、@point.setterの行に辿り着いた時点で変数エクスプローラーを見ると
valueの値が66になってる
その認識で良いんじゃないの
0055デフォルトの名無しさん垢版2018/05/24(木) 13:19:52.59ID:rmzZAz1D
>>53
>>54

上のコードを
print(math.point)
math.point=66
print(math.point)

で実行したところ、

>>>0
>>>You succeeded
>>>0

と出力されたので、何か理解できたような気がします。少なくとも違和感はなくなりました。

お二方ともご丁寧にありがとうございましたm(__)m
0056デフォルトの名無しさん垢版2018/05/24(木) 17:54:02.74ID:Dj4hL8GY
fizzbuzz書けるぐらいまでになりました
データ分析関係で何かプログラム組みたいと思っているんですけど、何かオススメありますか?
0060デフォルトの名無しさん垢版2018/05/24(木) 22:05:44.79ID:grSZ6JV3
win10、python3.6.5を新規でインストールしました。
hello.word!迄は勉強しました。
スクレイピングがしたくてpipで導入しようとしてるんですが上手く行きません、コマンド教えて頂けませんか?
0061デフォルトの名無しさん垢版2018/05/24(木) 23:35:13.23ID:iQu+wqIP
pythonはどうやってインストールしたのでしょうか
スクレイピングは具体的に何のライブラリを使おうとしてるんでしょうか
上手く行かないとは具体的に何が起こる(った)んでしょうか
何か表示されているようなら具体的にかつ正確に教えて貰えますか
0062デフォルトの名無しさん垢版2018/05/24(木) 23:53:23.61ID:UsIL5vRA
ハローワールドからは、かなり遠いよね。イスカンダルに行くほどではないが。
0064デフォルトの名無しさん垢版2018/05/25(金) 01:11:37.39ID:2q76hzlV
>>62
超ゆとり教育受けた者は自分のいるところからどれぐらいの遠いのか、どれぐらい大変なのか
分からんからな。で、遠くて行くのが大変でもママ(車や交通機関を使って、さらに、おんぶして)連れて行ってだからな。
俺も超ゆとり教育を受けたから、30半ばなのにママ連れて行って・何とかしてのお坊やおっさんだよ,orz
おかげで、いつまでもママママの超初心者
0065デフォルトの名無しさん垢版2018/05/25(金) 01:15:20.22ID:aAJIJZ6P
初心者はPythonの対話型プロンプトからpip実行しようとしてハマることが多いかも

公式PythonならコマンドプロンプトかPowerShellからpip installを実行、
Anacondaなら仮想環境のプロンプトでpip installするか、AnacondaNavigator使って入れればいい
0068デフォルトの名無しさん垢版2018/05/25(金) 03:57:09.22ID:JRXZZDGl
ユルタナとか尻とか最初に真っ先に殺すわ
0069デフォルトの名無しさん垢版2018/05/25(金) 05:32:29.14ID:dB974EKc
os.rename(dir_path, new_name)
PermissionError: [WinError 5] アクセスが拒否されました。: 'F:\\名前\\古い名前' -> 'F:\\名前\\新しい名前'

Windows7で別のドライブのフォルダをリネームしようとしましたが、
管理者権限でプロンプトから実行しても拒否されます
どうしてでしょうか
0070デフォルトの名無しさん垢版2018/05/25(金) 05:41:28.58ID:JRXZZDGl
remove出来るか試す
0071デフォルトの名無しさん垢版2018/05/25(金) 05:44:51.73ID:dB974EKc
>>70
ありがとうございます

この処理の前にopenでリネーム対象フォルダ内のファイルを開いていたのが原因だったようです
os.renameの前にclose()を呼んだら無事に動きました
0072デフォルトの名無しさん垢版2018/05/25(金) 06:40:26.00ID:Fc879EHT
>>67
時期にコルタナに「XXのスクレイピングして」と頼むだよ。

>>68
俺らよりユルタナとか尻の方がずっと頭良くて、お前、馬鹿・無知すぎだと言われるからな
(お前、自分でPower Shell・コマンドプロンプトの起動すらできないのか)
0075デフォルトの名無しさん垢版2018/05/25(金) 22:15:06.28ID:3AxUm1zl
pythonのチュートリアルはよくできてるな。
最新版のPDFファイルどっかに落ちてない?
0076デフォルトの名無しさん垢版2018/05/25(金) 23:59:55.20ID:q1degsPf
>>75
その質問には答えられんが一つ忠告しておく
ここはお前のような出来る奴が居ていい場所じゃない
0077デフォルトの名無しさん垢版2018/05/26(土) 01:03:06.20ID:tNkrbd5p
>>76
だよね。
俺らのようなド底辺にまじわると>>75のような出来る奴でもあっという間にド底辺になるからな。
>どっかに落ちてない? 
もう、底辺らしくなってきているし

>>75
Pythonを使って自分でチュートリアルをPDF変換すれば良いだろう
0080デフォルトの名無しさん垢版2018/05/26(土) 19:21:59.90ID:foLPIKFk
自分の好きな画像を覚えさてそれに似たような画像を自動で集めてくるみたいなプログラムを作りたいんですが、そのために必要な知識技術が取り入れられる初心者向けの本はありますか?オライリーの入門Pythonを一周した位の初心者なのですが、、
0082デフォルトの名無しさん垢版2018/05/26(土) 20:10:05.46ID:Lty78diJ
またスカトロの話してる…
0085デフォルトの名無しさん垢版2018/05/26(土) 23:13:43.20ID:foLPIKFk
>>84
そんなにですか
重くなるだろうなとは思ってたので50枚取ったら終わりみたいに軽めの限界は設定しようとしてたんですが甘かったですね
しかし目標が無くなってしまった
0087デフォルトの名無しさん垢版2018/05/26(土) 23:42:59.64ID:Lty78diJ
>>86
レンタル糞サーバーが糞なのは陸の孤島ならぬネットの孤島やからやぞ
世間のトラフィックの99.9999999999999%はおまえんとこに影響ないからw
0088デフォルトの名無しさん垢版2018/05/27(日) 03:31:42.23ID:c4nNYBzo
>>80
クローラーは、wget を参照

画像判別は、OpenCV とか、
類似の定義のアルゴリズムの研究だけで、軽く数年以上掛かる

どういう画像が似ているのか、その定義が一番難しい
0089デフォルトの名無しさん垢版2018/05/27(日) 11:30:53.46ID:mgulVE2s
たくさんPython野郎が遊び感覚でクローラー作ってネットを重くしているのか
トータルではgoogle以上にあっちこっちのサイトにクレクレしてたりしてな
0093デフォルトの名無しさん垢版2018/05/27(日) 23:49:42.39ID:5wdFvZhW
スレ違いだったらごめんなさい
自然言語処理をweb等を見様見真似で勉強してます
その中で共起ネットワーク図というものを見かけて面白そうだったのでやってみたいのですが、まだスクレイピングなどはやった事がないのでまずは青空文庫等のテキストデータを使って共起関係にある単語を表示してみたいと思っています
形態素解析するところまで出来たのですがその先の部分はサンプルなどを見つけられなくて行き詰まっています…
使うべきモジュールなども分からない状態なのですが、どのようにして共起している単語の抽出が行えるでしょうか?
初歩的な質問で申し訳ないのですがよろしくお願いします
0096デフォルトの名無しさん垢版2018/05/28(月) 04:44:28.44ID:XVTHXgQc
>>93
出現単語リストの直積のリストを作る
要素ごとにjaccard係数(*1)を求める
必要に応じてjaccard係数で足切り
グラフ描画ライブラリ(*2)で描画

*1
jaccard係数について
https://www.slideshare.net/mobile/khcoder/jaccard1

*2
NetworkXとか

大したことは言っていないので、
分からないなら潔く筋トレ(Pythonの)をしてから出直した方がいいと思います
命が掛かっているなら金次第で相談に乗ります
0097デフォルトの名無しさん垢版2018/05/28(月) 07:39:17.97ID:OuhpSUOS
>>93 です

>>94
>>95
ありがとうございます
やはり基本的な知識なのですね
今日帰宅時に本屋さん寄ってみます

>>96
ありがとうございます
何から手をつけて良いのか分からなかったので流れを教えて頂けてすごく嬉しいです
まずは”出現単語リストの直積のリスト”の部分について調べてみます
周りに聞ける人が誰も居ないのでお金を払ってでも…と毎日思います…
0098デフォルトの名無しさん垢版2018/05/28(月) 09:00:41.36ID:37+FCx2t
pyautoguiを使ってるんですが、日本語キーボードの無変換キーを入力する方法ってないですか?
0100デフォルトの名無しさん垢版2018/05/28(月) 12:18:42.73ID:QrMrtBKb
>>96
重ねて質問してすいません
出現単語リストの直積リストを作る
という部分はitertoolsを使って作る事が出来ました

次の要素毎にjaccard係数を求める部分についてなのですが引数として2つのリストを与える必要があるのかなと思うのですが、この時引数とするリストは直積リストともうひとつは何に当たるのでしょうか?
形態素解析したリストになるのでしょうか?
せっかく流れを示して頂いたのにすいません
基本的な考え方も分からないんだと痛感します…
0106デフォルトの名無しさん垢版2018/05/29(火) 08:25:22.63ID:BwhXSTip
本増えるのはいいけど入門書はいらん
もっと突っ込んだ内容のやつが増えて欲しい
0108デフォルトの名無しさん垢版2018/05/29(火) 17:00:13.32ID:OdQFw6jJ
numpyの配列の形を変えるにはどうしたらいいですか?
motoというshapeが(3,5)の配列があったとして
array([[1., 2., 3., 4., 5.],
[6., 7., 8., 9., 10.],
[11., 12., 13., 14., 15.]], dtype=float32)

この配列を以下のようなshape(3,5,1)の配列にしたいです
array([[[1., 2., 3., 4., 5.]],
[[6., 7., 8., 9., 10.]],
[[11., 12., 13., 14., 15.]]], dtype=float32)

配列をコピーする用に配列をつくってはみたものの
ここにどうやって形の違う配列をコピーすればいいのか分からないです

zr = np.zeros((3,5,1)).astype("i")

宜しくお願いします
0109デフォルトの名無しさん垢版2018/05/29(火) 17:46:23.55ID:QKhV4oKb
それだと 1,3,5 じゃないのか
0110デフォルトの名無しさん垢版2018/05/29(火) 17:49:10.44ID:QKhV4oKb
やりたいことが何か判らんが

>>> import numpy as np
>>> a = np.array([[1., 2., 3., 4., 5.],
... [6., 7., 8., 9., 10.],
... [11., 12., 13., 14., 15.]], dtype='float32')
>>> b = np.array([a])
>>> c = a.reshape(3,5,1)
>>> a.shape
(3, 5)
>>> b.shape
(1, 3, 5)
>>> c.shape
(3, 5, 1)
0111108垢版2018/05/29(火) 18:00:06.08ID:OdQFw6jJ
>>110
ありがとうございます
ほげー、一行で出来るんですね・・・
まさかforで回すわけでもないしと悩んでました

numpyでグレースケールで採り込んだら
RGBのカラーの時の値が入ってた枠が無くなってしまって
ほげほげしてたところでした・・・助かりました。
0112デフォルトの名無しさん垢版2018/05/29(火) 22:16:06.70ID:iRdPA+i/
ipythonでインデント(ブロック)の終了ってどーやんの?っと
0113デフォルトの名無しさん垢版2018/05/30(水) 00:11:49.14ID:6Ga5VGJ6
>>112
エンター押しまくる
0114デフォルトの名無しさん垢版2018/06/01(金) 14:32:40.20ID:g56dgDhl
docstringを使おうとしたらエラーが起きた

"""ほにゃらら"""

の形式で書いたんだけど、無情にも

SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x83 in position 1: invalid start byte

と返された。誰か助けて
0116デフォルトの名無しさん垢版2018/06/01(金) 18:08:04.05ID:Wbxpqrec
coding: hogehoge
0117デフォルトの名無しさん垢版2018/06/01(金) 20:50:43.65ID:g56dgDhl
なるほど、教えてもらったキーワードでググって
なんとなく理屈が見えたきた
ありがとう
0118デフォルトの名無しさん垢版2018/06/02(土) 10:41:21.53ID:hlsM3qEn
x = [0, 1, 2] みたいなリストを並び替えると
1番目 [0, 1, 2]
2番目 [0, 2, 1]
3番目 [1, 0, 2]
4番目 [1, 2, 0]
5番目 [2, 0, 1]
6番目 [2, 1, 0]
となるけど単純に f(x,3) -> [1, 0, 2] みたいに呼び出す方法ありますか
0119デフォルトの名無しさん垢版2018/06/02(土) 11:47:22.91ID:Mn+2M+g0
>118
itertools で全部列挙しておいてから、m番目を返すコード。
リストxの長さを n とすると、O(n!)の計算量になるので、nが小さい値でしか使えない。
また、メモ化してるので、x にいろいろなのがくるとメモリが足りなくなる。
memo = dict()
def f(x, m):
x = tuple(x)
if x not in memo:
memo[x] = list(itertools.permutations(x))
return memo[x][m]

桁DPの要領でm番目を直接求めるアルゴリズムもあるとは思う。
0121デフォルトの名無しさん垢版2018/06/02(土) 14:05:36.42ID:yUEJ+BJS
>リストを並び替えると
>...略...
>となるけど

なんで確定してんの?
0124デフォルトの名無しさん垢版2018/06/02(土) 15:13:34.52ID:yUEJ+BJS
並び順次第でもっと高速アルゴリズムあるだろ
0125デフォルトの名無しさん垢版2018/06/02(土) 15:15:45.21ID:yUEJ+BJS
あと要素に重複許すか許さないかも決めろ
0126デフォルトの名無しさん垢版2018/06/03(日) 00:38:10.83ID:XOBHiyXi
なんでもかんでも他人が決めてくれると思うなよ
0129デフォルトの名無しさん垢版2018/06/04(月) 01:25:24.68ID:PSQxbIpD
Numpy(またはリスト)で

HOGE =
[[AB], [CD], [0]
[AB], [CD], [0]
[AB], [CD], [0]]

AB:A〜Bの範囲で乱数
CD:C〜Dの範囲で乱数


のような形で2重配列を生成する方法有りませんか?
出来ればnumpyの関数を使うなりで高速に処理したいです
0130デフォルトの名無しさん垢版2018/06/04(月) 03:05:03.63ID:kbH5Vpqw
,足りないからsytax error
0131デフォルトの名無しさん垢版2018/06/04(月) 03:37:22.59ID:/gUisM+Q
>>129です
np.array([np.random.rand(1000) * 40 + 30, np.random.rand(1000) * 150 + 50, np.zeros(1000)])
としたら望んだ動作をさせることが出来ました
これが正攻法ですかね?
0132デフォルトの名無しさん垢版2018/06/04(月) 12:05:28.08ID:JjmaaBf+
リストでa=[[]]の状態から
a=[[1、1、1]、[2、2、2]、[3、3、3]]の状態にしたいんだけど
a[1].append(2)とするとindex out of rangeになる。
どうすればよかったの?
0138デフォルトの名無しさん垢版2018/06/04(月) 23:54:57.47ID:V9/EtLY4
スクレイピングについて質問があります。
環境python3.6.5
(requests、beautifulsoup4インストール済み)
win10 64 pro
https://i.imgur.com/nzETfNB.jpg
写真のコマンドをShellで表示させる事は出来ました。
コマンドプロントで表示させようとすると一瞬表示されて落ちます。
hello worldは表示されたままです。
コマンドプロントで表示させるにはどうすれば良いのでしょう?
0141デフォルトの名無しさん垢版2018/06/05(火) 07:12:27.46ID:vNq9k7GF
タリーズのパスタセットのほうが好き
0143デフォルトの名無しさん垢版2018/06/05(火) 08:26:51.27ID:lzn810vN
>138
a = input()
をプログラムの最終行に追加して、ユーザーからの入力待ちにしたら、コマンドプロンプトが閉じずに開いたままになると思うよ。
0145デフォルトの名無しさん垢版2018/06/05(火) 12:20:58.47ID:5wSar7or
>>143
ヤッマーマンコーヒーライター
0147138垢版2018/06/05(火) 15:33:40.43ID:6QaUpT89
>>143
ありがとうございます。出来ました。
0148デフォルトの名無しさん垢版2018/06/05(火) 21:35:53.64ID:Z1nEut3E
すみません、どなたか教えてください。
requestsでデータを取得したいのですが、一回目のget()は成功するのに、2回目以降が失敗してしまいます。どうしたらいいでしょうか?
ソースコード → ttps://pastebin.com/iKXzUgL5
0149デフォルトの名無しさん垢版2018/06/05(火) 21:58:12.58ID:HKweH0GP
>>148
あんま見てないけどjson.loadsにリスト渡せれたっけ?
0150デフォルトの名無しさん垢版2018/06/05(火) 23:12:10.76ID:4Q7TkxG/
失敗する時のurlは確かに自分が想定しているものか?
失敗する時のエラーコードはいくつ?
curlを打っても同じか?
0151デフォルトの名無しさん垢版2018/06/06(水) 00:05:28.07ID:cQ8rOQ34
>>150
URLはチェックしたつもりでしたが、完全に見落としていたようです。
ホスト名がおかしくなってたのが原因でした。恥ずかしい・・・
お騒がせしまして誠に申し訳ありませんでした。
0152デフォルトの名無しさん垢版2018/06/06(水) 02:19:30.77ID:GFJOl7V+
遊園地とデートしたい
0154デフォルトの名無しさん垢版2018/06/06(水) 11:57:29.64ID:I9hgDbEz
次の質問は cookiejar
0156デフォルトの名無しさん垢版2018/06/07(木) 12:30:46.46ID:4mIWw2z0
かぶせてるんじゃないの
0159デフォルトの名無しさん垢版2018/06/08(金) 08:19:51.76ID:/bqVuVHr
かぶきあげ
0160デフォルトの名無しさん垢版2018/06/08(金) 09:15:17.84ID:lmxa68Ln
pythonで開発してるんだけど
'ascii' codec can't encode characters in position 10-14: ordinal not in range(128)
が出るんだけど文字コードがおかしいから?
日本語が含まれているファイルをアップロードするとことで出てるんだけど。
_aaa = '会社一覧.txt'
_aaa.encode('utf-8')
とかしてもダメで困ってます。
0163160垢版2018/06/08(金) 09:34:49.45ID:lmxa68Ln
Python3.6です。
サーバはcentos7です。
0166160垢版2018/06/08(金) 09:54:31.46ID:lmxa68Ln
ファイル名を英数字のみにしたら問題なくアップロードできるんです。
0169デフォルトの名無しさん垢版2018/06/08(金) 11:00:54.58ID:kYrAgZlc
教えてください。
クラスを作って、それにデータを入れてって、
それをList配列にセットしていったら全部同じ内容になってしまいます。

調べてみたら参照になっているらしく、実態がひとつしかない?という
ことらしいのですけど、内容の異なるクラスをListに
保持するということはできないんでしょうか?
0171デフォルトの名無しさん垢版2018/06/08(金) 12:44:14.84ID:dTeFfRCY
C/C++ 以外の言語は、オブジェクトの中身がコピーされない。
オブジェクトの参照しかコピーされないから、参照は同一の実体を指す

中身までコピーしたいのなら、clone, deep copy みたいなメソッドを使って、
内側のオブジェクトまで、再帰的にコピーしていかなければならない

もし中身が参照だったら、その実体もコピーしなければならない
0172デフォルトの名無しさん垢版2018/06/08(金) 15:52:16.84ID:flVgGL8G
>>158
しこしこすると、気持ちいいぞ
やってみ
0177デフォルトの名無しさん垢版2018/06/09(土) 17:37:21.10ID:Rjsi/POz
独学プログラマーという本でpython勉強してるけど。ディープラーニングやるなら、統計学とか数学知識もだいぶ要求されるんですね。ディープラーニングなんて言葉もさっき知ったばかりだけど、目的もなくプログラミング勉強して仕方ないよね。

お前らはなんの目的をもって、python勉強してるん?
0180デフォルトの名無しさん垢版2018/06/09(土) 18:11:28.86ID:Rjsi/POz
俺以外にも波乗り人がいて安心した

仕事は大工で転職したい訳でもないけど、ローテクの仕事してる人間として。プログラミングに憧れがあったんだよねー。
0184デフォルトの名無しさん垢版2018/06/10(日) 10:40:36.55ID:mYiZBk29
import numpy as np
import matplotlib.pyplot as plt
import sympy

theta0 = sympy.Symbol('theta0')
theta1 = sympy.Symbol('theta1')
x_data = np.array([383530, 456474, 533496, 551308, 588788 ]).astype("float32")
y_data = np.array([22064192, 25691911, 27234521, 28403118, 27597193 ]).astype("float32")
def f(x):
return theta0 * x + theta1

error = np.sum((f(x_data) - y_data) ** 2)
diff0 = sympy.diff(error, theta0)
diff1 = sympy.diff(error, theta1)
theta0, theta1 = sympy.solve([diff0, diff1], [theta0, theta1])
print(theta0, theta1)

質問です。
簡単な線形回帰の問題を数学的に解きたいのですがtheta0とtheta1の出力がtheta0,theta1
になってしまいます。
どこが間違ってるのでしょうか?
0185デフォルトの名無しさん垢版2018/06/10(日) 10:47:08.17ID:mYiZBk29
自己解決しました
戻り値が辞書型なようです
すいません
0186デフォルトの名無しさん垢版2018/06/10(日) 15:51:44.31ID:cIF/Pitw
ナムパイ より  オッパイ が  すぅき〜〜〜〜ぃ!
0187デフォルトの名無しさん垢版2018/06/11(月) 10:35:45.86ID:tK3aH3wF
>>183
立ち読みしたけど
このスレ見てるひとには物足りないと思うよ
0188デフォルトの名無しさん垢版2018/06/12(火) 15:02:09.09ID:T8vrMQ/8
>>187
このスレ超初心者用じゃないの?
0189デフォルトの名無しさん垢版2018/06/12(火) 18:45:39.13ID:1JN678Ut
一部のwebサイトのソースで日本語が \u0000 みたいな形式になってることがあるんですけど
これを普通の日本語として表示させるにはどうすればいいですか?
0191デフォルトの名無しさん垢版2018/06/12(火) 20:19:54.95ID:1JN678Ut
すいません質問の仕方が悪かったです

IDLEに対して"\u6587\u7ae0"と入力すると
"文章"と表示されるのはわかっているのですが
\u6587\u7ae0 という文字を含むファイルを読み込んでも
"\\u6587\\u7ae0" と表示されるだけなので
これをなんとかして"文章"に変換してスクリプト内で自由に扱えるようにしたい
ということです
あと環境はWin10 Python3.6.0です
0194デフォルトの名無しさん垢版2018/06/15(金) 07:13:57.77ID:3m9PjRhE
スパイダーにパイゲーム入れたらスパイダーの実行ファイルが2つになった
spider.exeとspider(pygame).exeだ
これ普通なの?
追加するたびにexeが増えるとかおかしくない?
0195デフォルトの名無しさん垢版2018/06/15(金) 08:40:06.77ID:Rb3jCNU/
>>192
質問者じゃなかったけどちょうちょうちょうたすかった
すばらしい!!! (・∀・) ありがとう!!!
0196デフォルトの名無しさん垢版2018/06/15(金) 15:54:26.09ID:kuxGvV0N
cloud9で開発を始めましたが、自作関数のインポートでなぜかIDEに怒られます。
具体的には以下のコードで、main.pyの3行目[from my_lib import mlib]の左に
赤いバツ印が付いて’No name 'mlib’ in module 'my_lib'と表示されます。
ただ、そのまま実行すると特にエラーも出ず、mlib.○○でmy_lib.py内に記述した
関数も問題なく使えてますが。。。どこがおかしいのでしょうか?

<main.py>
#!/usr/bin/env python3
# coding: utf-8

import json
from pprint import pprint
import time,datetime
import sys
sys.path.append("/home/ec2-user/environment/my_lib")
from my_lib import mlib (←怒られる)
mlib = mlib()
0197196垢版2018/06/15(金) 15:57:05.36ID:kuxGvV0N
上の続きです。
<my_lib.py>
#!/usr/bin/env python3
# coding: utf-8

import math
from decimal import *
import sys, traceback, time, datetime, csv
import requests, json, urllib
from pprint import pprint

class mlib:

  def __init__(self):
    self.output_path = "/home/ec2-user/environment/my_output/"

  def aaa(self,〇〇〇)
    〇○○〇〜
0198196垢版2018/06/15(金) 16:01:26.91ID:kuxGvV0N
すいません、文章に誤りあり、×がつくのはmain.pyの3行目ではなく、
下から2行目です。

誤:
main.pyの3行目[from my_lib import mlib]の左に
赤いバツ印が付いて’No name 'mlib’ in module 'my_lib'と表示されます。

正:
main.pyの下から2行目[from my_lib import mlib]の左に
赤いバツ印が付いて’No name 'mlib’ in module 'my_lib'と表示されます。
0199デフォルトの名無しさん垢版2018/06/15(金) 16:11:23.50ID:OdSPYtBq
質問の仕方がおかしい
0201デフォルトの名無しさん垢版2018/06/16(土) 12:00:24.81ID:Qzlh17q8
>>196
肝心のmain.pyとmy_lib.pyの置き場所は?
それと /home/ec2-user/environment/my_lib ディレクトリ以下の構成は?
0202196垢版2018/06/16(土) 13:02:52.35ID:J0XQYDu0
>>201
各ファイルの置き場所は以下になります。

/home/ec2-user/environment/main.py
/home/ec2-user/environment/my_lib/my_lib.py
0203デフォルトの名無しさん垢版2018/06/16(土) 14:39:50.44ID:Qzlh17q8
IDEが動的path追加を認識できないアホなだけなんじゃなかろうか
諦めて無視するしかない
0204196垢版2018/06/16(土) 19:19:04.31ID:4DPY/ACT
>203
そうなのかもしれません。
main.pyと同じ階層にmy_lib.py置くと警告出ません。
0205デフォルトの名無しさん垢版2018/06/16(土) 21:30:29.14ID:V0Z3yofC
Ruby みたいに、そのファイルから見て、相対パスで指定できる、
require 相対パスのような書き方は無いの?

require_relative 'my_lib/my_lib.py'
0209デフォルトの名無しさん垢版2018/06/17(日) 09:30:54.55ID:89kw/R7U
Cに挫折してPythonに来たけど、PythonをやってみるとCが難しい理由がよくわかる
Cにはリスト・辞書など実用的なプログラミングに必須のデータ構造がなく、
それに相当する構造を自前で実現しようとするとメモリイメージを理解したうえで
ポインタを駆使する必要がある
一般人は肝心のロジックを書く前に、データ構造の構築と操作でギブアップしてしまう

何が言いたいかというと、Pythonを作ってくれてGuidoさんありがとう
こんな私でも正規表現を使って業務データを望みの形に加工するくらいできるようになりました
0210デフォルトの名無しさん垢版2018/06/17(日) 12:08:47.33ID:0n282sb+
subprocess.runを使ってwgetにファイルをDLさせたいんですけど
URLに&が含まれているとエラーになってしまいます
あとfor文でURLに連番を付加したときもエラーが出ました
どう対処すればいいですか?
0211デフォルトの名無しさん垢版2018/06/17(日) 13:58:33.95ID:a0y5ZZCH
初心者ですが
anacondaでF5で実行後IPythonコンソールにプロンプト(フォーカス?)を
自動で移動したいのですが方法設定はないでしょうか。
input()で入力を求められるところでいつも誤ってプログラムの書き換えをしてしまいます。
0212パイソン初心者垢版2018/06/17(日) 22:36:30.93ID:lidrzVPC
目当てのサイトから必要な情報を抜き出し、csvに保存するところまではできたのですが、実際にやりたいことまで知恵が及ばず、こちらで質問することにしました。

現在のコード(sample.py)
──────────
import requests, bs4
import csv

import requests, bs4
res = requests.get('https://news.yahoo.co.jp/pickup/6286588')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
elems = soup.select('h2')
for elem in elems:
print(elem)

with open('news.csv', 'w', encoding='CP932', errors='ignore') as f:
writer = csv.writer(f)
writer.writerows(elems)
──────────
※URLとh2に関しては質問用です。
0213212垢版2018/06/17(日) 22:37:08.00ID:lidrzVPC
>>212 続き

上記コードで1つのURLの"h2"が取得でき、"news.csv”に保存ができています。
でも本当は、情報を取得したいURLが大量あるのです。

URLは違うけど、同じサイトの中で、hmtlの骨組みが同じなので、アクセスするURLさえ変えることができれば他はそのままでいいです。

そこで、「URLがリスト化されたファイル"urllist.txt"の内容を読み込んで、一行目のURLから順々にアクセスして"h2"を取得し、csvに書き込んで保存するコード」というイメージでコーディングしたいと思っています。

※urllist.txtの内容
https://news.yahoo.co.jp/pickup/6286588
https://news.yahoo.co.jp/pickup/6286594
https://news.yahoo.co.jp/pickup/6286582

"requests.get"で指定するURLを別のファイルから読み込んで指定する方法、同じ処理を繰り返す方法、などで調べたのですが、必要な回答に辿り着くことができませんでした。

正解例がわかる方、どなたかお願いしますm(__)m

※urllist.txtはテキストファイルじゃなくてもいいです。
0217パイソン初心者垢版2018/06/18(月) 00:38:30.76ID:QaoNGVd4
pythonは今日勉強を始めたばかりです。
プログラム自体が初めてですが、楽しいですね。
とても好きになりました。

解決したらまた書き込みにきますm(_ _)m
0218デフォルトの名無しさん垢版2018/06/18(月) 07:48:32.99ID:icV/mWqE
3つのコードでGoogleアシスタント作りました。
0219210垢版2018/06/18(月) 08:53:40.84ID:sS1CU9Ao
自己解決しました
URLに&が含まれているとエラーになる件は&を^&に置換して渡せばよかったようです
URLに連番を付加する件は単純に関数の作り方が間違っていました
0220デフォルトの名無しさん垢版2018/06/18(月) 15:22:22.29ID:5N4LUYzZ
スクレイピングでろくなサイトがないから、ためしに本買ったらわかりやすくて最高ー
当たり前だけど本重要だな
0223デフォルトの名無しさん垢版2018/06/18(月) 20:00:42.72ID:NEyGx0zg
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、
佐々木拓郎・るびきち、2014

よく知らないけど、Python なら、なでしこの作者、クジラ飛行机の本か?

そう言えば、巨匠がフレームワークの本を出したよ。
先に、無料のRails チュートリアルをやった方が良いと思うけど

Python Django 超入門、掌田津耶乃、2018
0226212垢版2018/06/18(月) 22:34:36.18ID:QaoNGVd4
解決しました。引き続き精進します。
0227デフォルトの名無しさん垢版2018/06/19(火) 04:23:54.29ID:6x0qbtHZ
スクレイピングする時に、
デフォルトのモジュールのみで、パースも正規表現駆使して拾いながら
手続きの流れのままにズラズラと構成しちゃダメかい?
0228デフォルトの名無しさん垢版2018/06/19(火) 05:01:01.25ID:0nk/xPMo
<1><2></2></1>

正規表現は、木構造に対応できない。
<1>と</2>が、マッチしてしまう

jQuery, Ruby のNokogiri では、CSS セレクターを使う。
XPath よりも良い
0229デフォルトの名無しさん垢版2018/06/19(火) 05:59:30.68ID:6x0qbtHZ
前後の文字列で肝心のデータ部分を特定・取得できさえすればいい場合は、
正規表現でもそんなには困らないんだけどね。
0230デフォルトの名無しさん垢版2018/06/19(火) 09:16:28.04ID:a6uoRFLw
今時だれがrubyなんて使ってんだ?
PythonとBeautiful Soupでやるだろ。
本屋でもこの組み合わせばかり。
nokogiri?どころかruby自体の本すらない。
0232デフォルトの名無しさん垢版2018/06/19(火) 10:38:55.09ID:HcfbauBL
>>231
ヘッドレス起動の仕方は↓とか嫁
tps://qiita.com/orangain/items/db4594113c04e8801aad
ダウンロードはzipファイルなら↓あたりを参考に
tp://toolsqa.com/selenium-webdriver/c-sharp/download-file-using-selenium-and-verifying/
0233デフォルトの名無しさん垢版2018/06/19(火) 10:41:50.97ID:HcfbauBL
>>232追記
Cからの書き換えなんていやだ!というなら↓とかみれ
tps://a-zumi.net/python-selenium-save-to-disk/
tps://qiita.com/py_maro/items/6e79e4049677cf43c398
0235デフォルトの名無しさん垢版2018/06/19(火) 11:14:22.26ID:CdRPQvnG
>>233
すみません普通にならダウンロードはできてるんだけど
ヘッドレスモードにするとダウンロードできなくなるんです
0237デフォルトの名無しさん垢版2018/06/19(火) 19:56:07.63ID:HoCrEKEA
PythonのIDLEの画面をクリアすることってできますか?
0239デフォルトの名無しさん垢版2018/06/19(火) 23:18:57.08ID:0nk/xPMo
Ruby では、--headless オプション

options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')

driver = Selenium::WebDriver.for(:chrome, options: options)

driver.navigate.to "ここにURL"
0240デフォルトの名無しさん垢版2018/06/20(水) 00:14:42.51ID:roLNtd78
>>239
python2でもpython3でも動きませんでした。
他の方お願いします
0242デフォルトの名無しさん垢版2018/06/20(水) 08:12:14.73ID:pNRxkBp/
やりたいことに集中できるのがPythonの良さなのは同意するけど、便利な既製のデータ構造なんか他の言語にもだいたい用意されてるだろ
Pythonは文法がシンプルで記述の自由度が低く、変な例外的な仕様も少ないから、
どの書き方が美しいかなどというくだらないことをあまり考えなくていいんだよ
その結果、やりたいことに集中できる
0244デフォルトの名無しさん垢版2018/06/20(水) 12:35:53.89ID:XX+H87IB
1円硬貨: 8 枚
5円硬貨: 3 枚
10円硬貨: 2 枚
50円硬貨: 2 枚
100円硬貨: 3 枚

↑の硬貨のセットを持っているとする。

これらの硬貨を使って支払える金額のうち、その支払いに使える硬貨の組合せが
一通りしかないものの数を求めよ。


これを計算するためのプログラムを作ったのですが、正しい答えが出ません。
どこが間違っているのでしょうか?

http://codepad.org/Hyc8E6HM
0246デフォルトの名無しさん垢版2018/06/20(水) 15:34:20.79ID:OnxnZInx
>>243
Cの話してるところにC++の話題持ち込むと混乱するからやめて
0247デフォルトの名無しさん垢版2018/06/20(水) 16:04:05.44ID:pwTbHfBQ
プログラミング全くの初心者なのですが、beautiful soupというのを学ぶのに一番適している本やWebサイトってどれでしょうか?
0248デフォルトの名無しさん垢版2018/06/20(水) 16:29:37.34ID:OnxnZInx
ここで聞くのが早い
0250デフォルトの名無しさん垢版2018/06/20(水) 18:37:51.47ID:Ei8zBiKz
>>245
俺には関数部分のコードが正しいのかはわからんのだが、
paysに0が含まれてるからとかってオチじゃないの?
0255デフォルトの名無しさん垢版2018/06/20(水) 22:49:52.55ID:NQCW3xu6
jQuery, Ruby のNokogiri の、CSS セレクターを参照。
XPath よりも良い

なでしこの作者、クジラ飛行机の本は、難しいのか
0257デフォルトの名無しさん垢版2018/06/21(木) 00:34:34.36ID:9yZQgWTf
またrubyスレ荒らしてこなきゃ…
0259デフォルトの名無しさん垢版2018/06/21(木) 09:16:14.27ID:th0Ggf9H
いいえ、自作自演です
0266デフォルトの名無しさん垢版2018/06/21(木) 18:16:42.62ID:OqoFGLVJ
Anacondaからjupyter notebookを立ち上げてプログラムを起動するとno module named intertoolsというエラーが出ます
中身を確認したり何度かプログラムを動かしていると動作します
数分前まで動いていたプログラムでさえ立ち上げ直後は上記のエラー発生するのですが同様のケースを経験された方はいらっしゃいますか?
0267デフォルトの名無しさん垢版2018/06/22(金) 07:26:43.33ID:Msegs9yk
ヘルプかマニュアルに書いてある
0268デフォルトの名無しさん垢版2018/06/22(金) 09:31:36.57ID:MYEvMa8B
itertools
0269デフォルトの名無しさん垢版2018/06/22(金) 12:16:23.68ID:rBqx8nP+
指定した値が入っているリスト番地を返すindexって命令がありますけど
あれの正規表現版みたいなのはないですか?
0273デフォルトの名無しさん垢版2018/06/22(金) 14:58:02.62ID:lWEcvKD/
idx = next(i for i, v in enumerate(hogelist) if re.search(r"hage", v))
こういう事言ってるのかと思った
0274デフォルトの名無しさん垢版2018/06/22(金) 16:28:11.91ID:rBqx8nP+
>>272-273
目的を解決する標準関数はないけど
そのやり方を参考に自作関数を作ればいいわけですね
分かりました。ありがとうございます
0275遊園地垢版2018/06/22(金) 21:15:46.77ID:FpgraKib
2,3分で書くと、こんなもんかな。
import re
s = "012abc345def"
m = re.findall(r'[a-z]', s)
for i in m:print(i,re.search(i,s).span())
0276遊園地垢版2018/06/22(金) 22:20:43.17ID:FpgraKib
>>244は全部使うと1通りになります。的な?
0277遊園地垢版2018/06/22(金) 22:22:53.99ID:FpgraKib
合計金額とか
ない感じ、ですかね。
0279遊園地垢版2018/06/23(土) 09:53:25.33ID:rgQZb8eO
できてないんじゃない?

50+10+10+1+1=72
50+10+5+5+1+1=72
50+5+5+5+1+1+1+1+1+1+1=72

etc..
0281デフォルトの名無しさん垢版2018/06/23(土) 11:37:24.13ID:Ixf2W+q9
スクレイピングしたら
requests.exceptions.ConnectionErrorがでて
「既存の接続はリモート ホストに強制的に切断されました」って表示されたんだけど
これ相手から弾かれたってことですよね

time.sleep(10) に入れてたんだけど少ないですかね。
0282デフォルトの名無しさん垢版2018/06/23(土) 11:47:11.24ID:Kj6n8aPV
サイトによるだろ。株やFXならともかく、普通のサイトだと気が狂ってるとしか思えんフェッチする連中がいるし。
0283デフォルトの名無しさん垢版2018/06/23(土) 11:59:31.45ID:AshQdjwf
denyされていなくてもサーバーが高負荷になってれば普通に出る
denyされてるのか単なるエラーなのかは切断の傾向から推測するしかない

それなしに、ただ切断されましたと言われても分かんないね
0284281垢版2018/06/23(土) 12:44:32.88ID:Ixf2W+q9
>>281
>>282

ありがとう。
もしよければその単語の意味を確認させてほしい。

フェッチ=データを取り出すこと
deny= 拒否する 否定する など
0285デフォルトの名無しさん垢版2018/06/23(土) 13:17:45.77ID:AshQdjwf
接続を弾く場合、一般的にはファイヤーウォールやhttpdの機能を使う
それの設定の定番がallow-deny形式のルール

denyされた=ファイヤーウォールやhttpdで接続を拒否するように設定された
と考えて
0286281垢版2018/06/23(土) 14:13:39.32ID:X4Sjt2iY
>>285

ありがとう。止まったのは夜中だから機械的にアクセス拒否されたと考えてます。
timesleepの秒数をもっと長くして、あとrondomと組み合わせて、同じ時間感覚でアクセスするのやめるて様子みてみます。
0287遊園地垢版2018/06/23(土) 14:24:38.20ID:rgQZb8eO
初歩的な対処法なら

同じIPアドレスからのアクセスの間隔が常にほぼ同じ秒数間隔の変更
同じIPアドレスから、同じユーザーエージェントで大量にアクセス IP変更で対処

人間らしくないきっちりしすぎるアクセス *1

何度もアクセスしてきているのに、セッションクッキーを絶対に送ってこない
__CookieはWEBサーバーが発行し、ブラウザが保持するキーと値
__セッションはWEBサーバーで保持するキーと値

確認方法
C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Windows\Cookies
ブラウザのアドレス欄に____javascript:document.cookie;

リファラーがまったくない ココは調べてる必要がある

*1
__HTMLだけにアクセスしてJavaScriptやCSS、画像にまったくアクセスしていない
注意:画像だけにアクセスしても同様に対処される
0288デフォルトの名無しさん垢版2018/06/23(土) 14:26:59.81ID:8e5n022B
それこそ人工知能で人間っぽくみせるプログラムとかを作ってほしいですよね。
0289遊園地垢版2018/06/23(土) 14:29:45.70ID:rgQZb8eO
いくつかの書式形式から、HTML構造を頻繁に変えられると
もう、維持の張り合い

そんなサイトに出くわした事はない。けどなーw
0290遊園地垢版2018/06/23(土) 14:35:43.61ID:rgQZb8eO
>>288
python関係ないけど、

費用掛かって良いなら、
___RPAのトリガーを使う

試した事ないから、無理かもしれない。+時間が膨大にかかる
0291281垢版2018/06/23(土) 16:00:37.87ID:Ixf2W+q9
>>287
とても参考になります。

>同じIPアドレスからのアクセスの間隔が常にほぼ同じ秒数間隔の変更
やりました。今のところこれだけで大丈夫そうです。

>同じIPアドレスから、同じユーザーエージェントで大量にアクセス IP変更で対処
調べたらやり方がでてきたので、検討します。

>人間らしくないきっちりしすぎるアクセス *1
わかりました。覚えておきます。

>C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Windows\Cookies
Appdateというフォルダがなく、C:\Users\(ユーザー名)、までしか一致しなかったです。
Cドライブ指定で「Cookies」で検索しましたが、これに関係ありそうなファイルにはたどり着けませんでした。
こちらwin10(64)です。

>ブラウザのアドレス欄に____javascript:document.cookie;
やりました。なんか文字いっぱい出てきました。

>リファラーがまったくない ココは調べてる必要がある
検索結果のURLに直接アクセスしてるので、TOPの検索経由でスクレイピングする方法も試してみます。
0292遊園地垢版2018/06/23(土) 18:20:10.76ID:rgQZb8eO
>>291
おめでとう。

 こっちはURLまで取得できるけど、保存だと弾かれて苦戦中

試しにIPとブラウザ偽装でも、ダメだった。

諦めて、PyAutoGUIでキーボードでブラウザ操作に切り替え用か迷ってる。
0293デフォルトの名無しさん垢版2018/06/23(土) 21:41:08.02ID:m3qN670q
質問です。

こんなふうなスクリプトを書いています。
https://pastebin.com/0KKDbGnp

68〜75行目で変数に関数を代入していますが、77〜78行目をコメントアウトしてあるので何も動かないと思うんですが、実際には6行目の関数が動いてprint(〜)とinput()が求められてしまいます。
なぜ動くんでしょうか?
0294デフォルトの名無しさん垢版2018/06/23(土) 21:56:20.14ID:I6yycig3
>>293
68行目が実行されて、
get_service_id() が実行されているからでは。
むしろ、なんで77-78行目をコメントアウトすると、何も実行されないはずと考えたのかが理解不能。
0295デフォルトの名無しさん垢版2018/06/23(土) 21:58:47.18ID:1v1LX/MG
68行目でget_service_idを実行してるから。
関数の代入ではなく関数の評価結果の代入になってる。
だからget_service_id関数はそこで評価(実行)され、そこでinput求められてる。
0296デフォルトの名無しさん垢版2018/06/23(土) 22:26:43.34ID:m3qN670q
>>294
>>295
どうもありがとうございます。

変数には関数を代入したのでは無く、関数の処理結果を代入した場合は、77-78の有無にかかわらず68行目の時点で実行されてしまうんですね。

77や78を動かした時のみ上の関数が動くようにするにはどんな方法がありますか?
0300デフォルトの名無しさん垢版2018/06/23(土) 22:41:53.16ID:AshQdjwf
ifで77に必要なコードと78に必要なコードに分けろ
普通の頭ならそうする

>77や78を動かした時のみ上の関数が動くようにするにはどんな方法がありますか?
変数を一切使わなければいい
あのコードだと読み辛すぎて普通の頭ならやらない
0304デフォルトの名無しさん垢版2018/06/24(日) 15:48:36.36ID:RVJ6teNY
スクレイピングに挑戦してるんだど
503や404のHTTPerror別に処理を分ける方法ってありますか?

503の時は動作停止
404の時は動作続行
としたいんだけど…

検索してもさっぱり手掛かり掴めないので、
方法としてあるかどうかだけでも知りたいです。
0305304垢版2018/06/24(日) 15:52:00.43ID:RVJ6teNY
>>304補足です。
スクレイピング対象のURLは複数あって、
コード内のURL(途中まで)と、txtファイルから読み込んだパラメータを組み合わせて完成URLを生成してます。
0306デフォルトの名無しさん垢版2018/06/24(日) 16:45:34.35ID:2Vrp11he
プログラミングもやったことないんですが、いきなりpythonの入門書をやっていいのでしょうか?
0308デフォルトの名無しさん垢版2018/06/24(日) 17:11:02.94ID:uBBkkzH4
>>305
まずは自分の書いたコード貼れよと
このスレで以前マジ叱責されたわ
0309デフォルトの名無しさん垢版2018/06/24(日) 17:19:49.55ID:fW0KLT9g
スクレイピングとapiについての質問なのですが
セキュリティ関連のあるサイトから検索し、結果を取得したいのですが提供されているapiがリクエスト上限が分間数件とかです…
もう少し効率よく取得したいのですがスクレイピングならこういう制限なく自由に取っていって良いんでしょうか?
robots.txtは確認しましたがdelayの項目は無く制限された階層?からの取得はありません。
0310デフォルトの名無しさん垢版2018/06/24(日) 17:22:56.35ID:iZ9NT8wM
>>306
まずPythonをやる動機はあるのかい?
システムを外注する金がないからお前作れと上司から無茶振りされたとか、
学校の課題で出されたとか、具体的な動機がないとプログラミングは身につかない
ただやってみたいってだけで身に付くのは好奇心旺盛で頭が柔軟な子供のみ
0311 ◆QZaw55cn4c 垢版2018/06/24(日) 17:33:34.72ID:rYGVoBbS
>>310
>ただやってみたいってだけで身に付くのは好奇心旺盛で頭が柔軟な子供のみ
子供は子供相応のやさしい課題をやるから「やってみたい」だけで身につく、という面があるのだろうね
プログラミングは複雑だし、単に覚えるだけではなく創る面もあるから、継続してモチベーションを維持しないといけない
モチベーションの維持ってどうすればいいのかな?
0312デフォルトの名無しさん垢版2018/06/24(日) 17:38:59.94ID:I6qT+7Vz
>>309
日本では悪しき前例があるから「どこまでならやっていいのか」に関しては部外者はなにも保証できない
そのサイトにルールが記載されてないなら運営に直接に尋ねるのが正解
尋ねた上でやるなと言われたら素直に諦めてAPIを使う
ビジネス上のメリットを提示して交渉できるなら希望はあるけど個人じゃ難しいよ
0313デフォルトの名無しさん垢版2018/06/24(日) 18:02:51.87ID:KnGMQ2/n
>>312
ありがとう
英語のサイトで尋ねるのも大変ですし、この作業自体が隣の席の人がダルそうにチェックしてるから
どうにか出来ないかな レベルの話だからAPIで簡単に実装してみます
遅いダルいとか言い出したら昔の事件の存在とか少し伝えてそれでも欲しがったらスクレイピングしてみます改めてありがとう
0314304垢版2018/06/24(日) 18:09:49.65ID:RVJ6teNY
>>308
すみません。質問用に同様の動作をするコードを作りました。下記コードを元に何らかの助言が頂ければと思います。

urllistは質問用に設定したヤフーニュースの記事です。現状だと「res.raise_for_status()」が記述されているため、2つめの記事「〜pickup/9999999」の読み取り時に404エラーが出て処理が停止します。

エラーコードは 〜 requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://news.yahoo.co.jp/pickup/9999999 〜 です。

実現したいことは、404エラーの時は停止せず、次のURL読み込みに進んでほしいのです。ただし、503エラーの時は、停止させたいと思っています。

res.raise_for_status()を消せば処理は進みますが、503の時もアクセスし続けてしまうことが課題です。

----------
import requests, bs4
import csv

urllist1 = [
'https://news.yahoo.co.jp/pickup/6287442',
'https://news.yahoo.co.jp/pickup/9999999',
'https://news.yahoo.co.jp/pickup/6287380',
]

with open('news.csv', 'w', encoding='CP932', errors='ignore') as f:
for urllist in urllist1:
res = requests.get(urllist)
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
elems = soup.select('h2')
for elem in elems:
print(elem)
writer = csv.writer(f)
writer.writerows(elems)
----------
0317デフォルトの名無しさん垢版2018/06/24(日) 18:57:21.23ID:KnGMQ2/n
>>315
正直何に困ってるのか掴みかねますが
PCの入門本かpython入門本で迷うと言うことは基本的なPC知識が足りないと言うことでしょうか
自分で問題無く環境構築など進めるかと言った疑問でしょうか。

どちらにしても暇を持て余しているのであればネットで調べて実際にやってみると出来る出来ない分からないなどがはっきりし
質問しやすくなったり書籍購入するにしてもどういう本が良いか検討しやすくなると思われます。
0318デフォルトの名無しさん垢版2018/06/24(日) 19:18:26.36ID:nwkedvyK
>>ID:2Vrp11he
そもそもPCをあまり使ったことがあまりないなら、まずはPCを使い倒すこと
その中で「一件片付けるのは簡単だけど、何百件単位で片付けなきゃいけないからやってられない」って作業を見つけたら
それをプログラムで解決してみればいい

あと、プログラムを覚える前段階として正規表現を覚えるといいよ
Webから情報をコピー→テキストエディタやエクセルに貼り付け→正規表現で整形
という作業を日常的によくやるようになったら、プログラムスキルも伸びやすいと思う
0319デフォルトの名無しさん垢版2018/06/24(日) 19:25:45.93ID:VtKhATJw
>>314
for urllist in urllist1:
  res = requests.get(urllist)
  if res.status_code == 404:
    # 何がしかの処理(必要なら)
    continue      # forに戻って次の処理に進む
  res.raise_for_status()
0320デフォルトの名無しさん垢版2018/06/24(日) 19:34:46.58ID:QeMF1Yls
最初っからわかるヤツなんていない。

「どっから手を付けていいのかわからない」が当たり前。そこで苦しんで覚えるかってのが分岐点だな。
0321314垢版2018/06/24(日) 19:55:19.06ID:RVJ6teNY
>>319
ありがとうです!
ちょうどif文で調べてたところでした。
もっと勉強頑張ります!
0322デフォルトの名無しさん垢版2018/06/24(日) 19:57:20.22ID:2Vrp11he
環境構築とか正規表現とか用語が分からないけど、やっぱり暇を活かして自分で少しやってみます
0323314垢版2018/06/24(日) 20:25:01.44ID:RVJ6teNY
>>319
すみません、よく見たら出力された記事が一番下の「〜6287380」だけで、
一番上の「〜6287442」が取得できていませんでした。
解決方法もしわかりましたらご回答お願いします。
0324314垢版2018/06/24(日) 20:39:49.25ID:RVJ6teNY
自己解決しました。
res.raise_for_status() 以下のインデントを間違えていました!
自己解決!
0325デフォルトの名無しさん垢版2018/06/24(日) 23:18:20.51ID:chBT6m1a
まず学生は、cd, echo, cat とか、数十のLinux 基本コマンドから勉強する

謎のような呪文を覚えるって、皆言ってる
0331デフォルトの名無しさん垢版2018/06/25(月) 11:18:33.76ID:DuFsc7dI
みたいなのではなく目的を言え
そんな聞き方をされても、同じものはPythonには無いとしか答えられん
0334デフォルトの名無しさん垢版2018/06/25(月) 14:06:46.86ID:Mhnqwvq5
codeacademyって、Python3のコースってできたの?
それともまだ2だけ?
0335デフォルトの名無しさん垢版2018/06/25(月) 14:24:05.55ID:tpBtUwyy
>>330
ctypes
struct
0336デフォルトの名無しさん垢版2018/06/25(月) 14:25:22.14ID:tpBtUwyy
ctypes.Structure だった
0337デフォルトの名無しさん垢版2018/06/25(月) 18:29:35.17ID:xfktAix5
すみません
くっっっっっっっっっっっっっそ初心者丸出しの質問で申し訳ないです
公式からexeインストーラをDLしてインストールしたのですが、コマンドプロンプトでバージョン確認しようとしても
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と出て実行できません

インストール時にパスを通すオプションにはチェックを入れたし、念のため環境変数も確認しましたが
インストールフォルダ、及び配下のScriptフォルダがpathに設定されていました
OSはWin10 64bitです
使用したインストーラはpython-3.6.5-amd64.exeです
何がいけないのでしょうか
0340デフォルトの名無しさん垢版2018/06/25(月) 20:52:30.61ID:0JOXULDc
すみません、pythonを「サイフォン」と読んでしまう病気にかかっているのですが、治す方法はないでしょうか、、、
0344デフォルトの名無しさん垢版2018/06/25(月) 21:08:24.10ID:IGovl2eG
>>342
自己レス

12〜14と15〜17の順番を逆にしなきゃいけないんでしょうか?
順番的にURLErrorの方が植えだと思うんですがどうですか?
0346デフォルトの名無しさん垢版2018/06/25(月) 21:11:38.68ID:IGovl2eG
>>343
なるほど
サーバーからHTTPエラーが返る場合でも先にこの処理でURLエラーを返してしまうので、HTTPエラーに進めないんですね
0348デフォルトの名無しさん垢版2018/06/25(月) 21:36:18.05ID:zC5xTz/q
Excelから読み込んだデータをデータベースに格納したいと思っています
必要な列を抜き出してデータフレームにするところまでは出来たのですが、データベースに入れる部分で行単位で処理するのか列単位で処理するのかなど、どのように処理すれば良いのかイメージが沸かず行き詰まっています
進める手順や考えた方をよろしければ教えてください
0349デフォルトの名無しさん垢版2018/06/25(月) 21:50:25.87ID:IGovl2eG
>>342
21行目
AttributeErrorってなんでしょうか?
参考にしているスクレイピングの本の最初でいきなりこの記述が出てきました。
Pythonの入門書の索引にもAttributeErrorはありませんでした。
0350デフォルトの名無しさん垢版2018/06/25(月) 21:55:04.92ID:M/oLTPjd
>>348
CSVファイルなら直接DBのコマンドでロードできるから、
まず一時テーブルに全部ロードしてから必要なものだけ別のテーブルに移せばいい
Pythonなんか全く必要なくクソ簡単だしPythonなんか使うより遥かに速いよ
0352デフォルトの名無しさん垢版2018/06/25(月) 21:59:53.59ID:ZHyGPm7B
ある程度の量のデータを扱うにあたって、最も重要なツールはTensorFlowでもSparkでもpandasでもPythonでもなくSQLだ
覚えておけ
0356デフォルトの名無しさん垢版2018/06/25(月) 22:53:21.58ID:Eh6m6Gcw
>>336
亀レスすいません
今回は使いませんでしたかありがとうございます
ctypes.StructureでCっぽく書けるとかpythonは自由度が高いのか低いのかよくわからない言語ですね
0357デフォルトの名無しさん垢版2018/06/25(月) 23:57:11.82ID:lTrbOz9W
>>330
class を使えば?

Ruby でも普通は、Struct よりも、classを使う。
Structは、classのひな形を作る、class generator

>>349
「python beautifulsoup AttributeError」で検索!
0358デフォルトの名無しさん垢版2018/06/26(火) 00:47:58.65ID:85MS96V/
こんなところにも他人の褌で相撲を取るRuby厨w
書店の棚割りは減るばかりwww
0359デフォルトの名無しさん垢版2018/06/26(火) 08:50:02.61ID:aQBGrrs7
必要な関数を概ね完成させたプログラムがあって
IDLEで関数を手動で実行しながらmain関数を作ろうって段階なんですけど
IDLEを閉じちゃったら、毎回IDLEにプログラム全体をコピペするしか無いんですかね?
0362デフォルトの名無しさん垢版2018/06/26(火) 13:23:42.18ID:aQBGrrs7
>>360
PyCharmがいいらしいのでとりあえずインストールしてみましたが
機能が多すぎてよくわかんないです
あと、インタラクティブシェルではインポートできた「win32com.client」が
PyCharmではModuleNotFoundErrorになってしまいます

>>361
ググったけどよくわかんなかったです
キーワードから察するにIDLEはプログラム内で設定された値を保持できるみたいなことだと思いますが…
あとちょっと嘘ついてました
IDLEは文字が多くなるとすぐ重くなるので使ってません
コマンドプロンプトのインタラクティブシェルで実験しながらプログラムを作ってます
0364デフォルトの名無しさん垢版2018/06/26(火) 15:08:43.55ID:VfyrMZUM
>>362
それpycharmとIDLEで使ってるインタプリタが違うからモジュールをインポートできないんだよ
パイチャーム難しいならスパイダーとか簡単なんじゃないか?使ったことないが
0369デフォルトの名無しさん垢版2018/06/26(火) 15:36:33.89ID:aQBGrrs7
とりあえず当初の問題は自己解決しました
py -i script.py
でスクリプトを読み込んだあとインタラクティブシェルに移行できました
エディタについては今後じっくり検討します。ありがとうございました
0370デフォルトの名無しさん垢版2018/06/26(火) 15:38:16.69ID:1/94qv1z
>>368
まるでpyCharmが本格的な開発用でvscodeは勉強くらいにしか使えない玩具ととられかねないような書き方だったから訂正したんだよ
0371デフォルトの名無しさん垢版2018/06/26(火) 17:05:10.11ID:NgTyc+4S
プログラマーはなぜイキりがちなんだろうな
最初は穏やかな人でもプログラミング学ぶと性格変わったりしてな…
0374デフォルトの名無しさん垢版2018/06/27(水) 02:56:08.57ID:+x1q6XeE
すべての言語で無料の、vscode だろ

JetBrains の、WebStorm, PhpStorm, PyCharm, RubyMine はプロ用
0375デフォルトの名無しさん垢版2018/06/27(水) 07:55:32.89ID:0PR31v28
PyCharmなんか元々金になってるとは思えないからVSCodeに取られようが影響ないだろうけど、
VSCodeはJetBrainsの総本山のJavaすら取り込み始めてるからなあ
PyCharm愛用者もそろそろ次を考えとかないといきなり会社ごと消滅するかもね
0378デフォルトの名無しさん垢版2018/06/28(木) 04:34:10.70ID:4JHdG6Y6
2018-06-28T02:05:00+09:00
2018-06-28T03:00:00+09:00
この二つの文字列を
02時05分 - 03時00分 (55分)
と表示させたいです。

https://ideone.com/2zljNY
このように書くと、22行目の '(' と ')' はstrでsabunはintなので + を使うと表示させたいです、エラーになってしまいます。
いい方法教えて欲しいです。
0379デフォルトの名無しさん垢版2018/06/28(木) 04:52:31.67ID:4JHdG6Y6
> このように書くと、22行目の '(' と ')' はstrでsabunはintなので + を使うと表示させたいです、エラーになってしまいます。

このように書くと、22行目の '(' と ')' はstrでsabunはintなので + を使うとエラーになってしまいます。

の書き間違いです
0380デフォルトの名無しさん垢版2018/06/28(木) 04:55:45.58ID:4JHdG6Y6
自己レス
19行目をsabun = str(int((epo_time_e - epo_time_s) / 60))とすることで希望どうりになりました
0381デフォルトの名無しさん垢版2018/06/28(木) 05:01:27.80ID:KT9XUAgI
str()しなくても書けるよ
例えばpython3.6以降なら、
print(f'{ss_time} - {ee_time} ({sabun} 分)')
0382デフォルトの名無しさん垢版2018/06/28(木) 05:17:53.23ID:4JHdG6Y6
>>381
どうもありがとうございます。
こっちの方が何倍も簡単ですね。
f’{}’という機能がそれでしょうか?
これは何という名前の機能なんでしょうか?
使いこなせるようになりたいです。
0383デフォルトの名無しさん垢版2018/06/28(木) 05:29:58.30ID:KT9XUAgI
>>382
f-stringsとか、フォーマット済み文字列リテラルと言う(多分)
'python 文字列 フォーマット'とかでググれば、他のやり方も出てくると思う
0384デフォルトの名無しさん垢版2018/06/28(木) 05:54:10.67ID:4JHdG6Y6
>>383
どうもありがとうございます

print('くだもの:', ttes1['aaa'])

print('やさい:', ttes2[0])

今まで使ってた上の方法をf-stringsに変える場合はどうやりますか?
ttes1の中はこんな感じです。
print(f'くだもの: {ttes1}')
くだもの: {'aaa': 'りんご', 'bbb': 'みかん', 'ccc': 'いちご'}
0385デフォルトの名無しさん垢版2018/06/28(木) 06:01:42.05ID:4JHdG6Y6
自己レス
print(f'くだもの: {ttes1["aaa"]}')
と辞書の[]の中は'ではなく"で囲えば大丈夫でした
0386デフォルトの名無しさん垢版2018/06/28(木) 06:19:49.56ID:KT9XUAgI
他によく使うのは書式変換かな

n = 123456789.123456789
print(f'{n:,.2f}')
-> 123,456,789.12

この場合は、桁区切りと小数点以下桁数を指定してる
formatで調べてみて
0387デフォルトの名無しさん垢版2018/06/28(木) 08:28:32.18ID:QUrEcNSP
>>386
ありがとうございます。
これも便利そうですね。
小数点以下を省きたかったので、>>378 の19行目でint使ったんですが、fでもできそうですね
0388デフォルトの名無しさん垢版2018/06/28(木) 11:03:05.44ID:5Es+lqIV
Java屋なんだけどpythonやらなきゃならない感じ
eclipseでpythonやってる人いますか?
0389デフォルトの名無しさん垢版2018/06/28(木) 13:25:50.42ID:DXNcBH7t
Pycharmを日本語化したいんだけど
上手くできないわ pleiadesインストールしてもset.exe開いてもなにも起きねえ

ウィンドウズだから?charmが最新で対応してないとか?
ファイルが長すぎてちゃんと解凍出来てないとかか
0394デフォルトの名無しさん垢版2018/06/28(木) 22:51:58.58ID:gXb2cKg6
https://ideone.com/KXbDmh

Sekaiの部分を書き換えたいです。

clickのサブコマンドとオプションを併用して以下のようになるようにオプションを付ける方法教えてください
$ ./prog.py english --name masao
Hello, masao!
0396デフォルトの名無しさん垢版2018/06/29(金) 12:49:54.66ID:AheYOSRK
はい
0397デフォルトの名無しさん垢版2018/06/29(金) 21:11:53.29ID:1XSLHtbi
https://docs.python.jp/2.7/howto/urllib2.html
このサイトの

import urllib2
response = urllib2.urlopen('http://python.org/')
html = response.read()

を実行したのですがurlopenのところでずっと固まってしまいます。
環境は以下のとおりです。curlだと固まらないです。
Linux pre.aichi.net 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
0399デフォルトの名無しさん垢版2018/06/29(金) 21:33:53.19ID:1XSLHtbi
やってみましたが固まります。
http://www.yahoo.co.jp/ だと固まりません。
http://www.goole.co.jp/ は固まります。
それで試しにtimeoutを設定してみたらタイムアウト後に返って来て
html = response.read() で読み込んだらすべて読み込まれます。
0400デフォルトの名無しさん垢版2018/06/29(金) 23:02:44.91ID:BOFwPCmn
あー中日美しい
0401デフォルトの名無しさん垢版2018/06/29(金) 23:52:41.97ID:3ACYVk4m
ラジオで現在放送中の番組情報が書かれてあるjsonをwebから取得して必要な情報だけを標準出力に出力するスクリプトを書きました。
requestsとjsonを使いました。
jsonには次の番組の開始時間もかかれてあるので、スクリプトを実行するとまず現在放送されている番組情報を表示してそのまま待機、次の時間時間が来るとjsonを再取得してまた標準出力に出力する〜を繰り返すスクリプトを書きたいんですが、どんな方法がありますか?
番組情報を表示する関数はprint_noa、次の番組の開始時間を取得する関数はget_next_timeとしました。
漠然とforとsleepを使うのかなと思っています?
よろしくお願いします。
0402デフォルトの名無しさん垢版2018/06/30(土) 00:08:00.65ID:3Ww0WFPX
>>399
urllib2.Request()を使って headersでUAとリファラとかを渡してみたら?
まぁ、そんなことしなくても、>>397で普通にレスが帰ってくるけどねぇ。

>>401
一定時間おきでも事足りそうだから、
無限ループにtime.sleep()でいいのでは?
あとは、その度にターミナルをクリアするとかがあるといいのかな。
0403デフォルトの名無しさん垢版2018/06/30(土) 00:10:50.95ID:tr0WXiW5
python.org なんかで試すな!

実験用のサイトじゃねえぞ。
負荷を掛けるな

そもそも、HTML を読み込んでも、
ブラウザじゃないのに、JavaScript は実行されないだろ

普通は、Ruby などで、selenium-webdriver で、Chrome を実行したりする。
本物のブラウザを操作しないと、正しくページが実行されない
0404デフォルトの名無しさん垢版2018/06/30(土) 00:15:53.55ID:tr0WXiW5
>>401
Linux では、at, cron に登録すれば、
その時間が来れば、アプリを起動してくれる

Windows にも、同様のサービスがあるはず
0405デフォルトの名無しさん垢版2018/06/30(土) 00:15:55.13ID:+UtvNLZx
>>388
7年くらい前にやったことあるけどクソすぎて投げた
誰に何と言われようが二度と試す気はない
今はVSCodeを愛用している
0406401垢版2018/06/30(土) 00:19:51.24ID:i9q8wfr8
どうもありがとうございます
5分の番組もあれば120分の番組もあればと番組毎に時間はまちまちなんですが、time.sleepとwhiteループを使う場合は、次の番組の開始時間に関わらず、(たとえば)5分おきに再取得するということでしょうか?
むやみに何度もアクセスするのはサイトにもこっちにも悪い気がして…
0407401垢版2018/06/30(土) 00:22:30.76ID:i9q8wfr8
>>404
どうもありがとうございます
cronに自分で書き込むんじゃなくて、自動更新なのでスクリプトの中で実現させたかったです。
0409401垢版2018/06/30(土) 00:27:03.93ID:i9q8wfr8
ターミナルのクリアは
os.system('cls')
で出来ました
0410401垢版2018/06/30(土) 00:28:13.49ID:i9q8wfr8
>>409
os.system('cls')は使えませんでした
0411401垢版2018/06/30(土) 00:30:08.38ID:i9q8wfr8
ターミナルのクリアはos.system('clear')でした
clsはウインドウズのコマンドらしいですね
0412404垢版2018/06/30(土) 00:37:57.47ID:tr0WXiW5
>>407
プログラム内のループで、時間を足していっても、ずれてしまう。
不正確

でも、時間クラスを使って、OS から時間を教えてもらえば、できる
0414404垢版2018/06/30(土) 01:32:24.16ID:tr0WXiW5
Ruby では、Time クラスで、
OS から時刻を教えてもらったり、時刻同士の差を求めたりできる

Python にも、時刻クラスはあるはず

次まで、sleep した後、
OS から時刻を取得して、過ぎていれば、次の処理をする
0415デフォルトの名無しさん垢版2018/06/30(土) 01:36:08.00ID:3Ww0WFPX
>>406
5分単位で番組があるだろうから、そのくらいでいいのでは?
その程度の間隔のアクセスなら別に問題無いと思うよ。
気になるなら間隔をあけることになるだろうけど、
次の番組もわかるということだから、少しくらい遅れても実用上変わらないだろうし、
まずはつくってみることで、何が足りないのかもわかるしね。
個人的には、そうしたたぐいのツールは時間の正確さは不要と考えてる。

もしできるだけピタリと出したいのなら、次の番組の開始時刻を抽出して、
その開始時刻(+αは必要かも)に更新するようにすればいいでしょう。
0416401垢版2018/06/30(土) 02:37:49.78ID:i9q8wfr8
>>415
どうもありがとうございます。
初心者なのでどのくらいの頻度でアクセスするのが常識の範囲内というか威力業務妨害やエコの観点からいいのかが分かりませんでした。
とりあえず120秒スリープさせてその後情報の再取得を行うwhileループを作ってみたんですが、情報内容に変更がなくとも2分ごとに同じ内容で更新され見た目がチラついて落ち着かなかったのでやめました。

get_next_time()という次の番組開始時刻と現在時刻の差分秒を取得する関数を作り、以下のようにループさせる事で自動で更新してくれました。

https://ideone.com/j2WbQc

こうするともっといいよってアドバイスがあればお願いします。
時刻のずれがあるかもしれないから415さんのおっしゃるように差分秒に+α秒付け足したほうがよいかもですね。
0417デフォルトの名無しさん垢版2018/06/30(土) 03:05:12.80ID:tr0WXiW5
待ち時間 = 次の番組開始時刻 - 現在時刻 + 1秒

待ち時間だけ、sleep

現在時刻を取得して、次の番組開始時刻以降になっていたら、処理する
0420デフォルトの名無しさん垢版2018/06/30(土) 10:12:01.97ID:xZj/2lQZ
>>402
windowsだとできるので環境の問題だと思うのですが
自分には見当がつきません
0422デフォルトの名無しさん垢版2018/06/30(土) 11:33:30.26ID:6ip4g6CI
>>420
あなたのlinux環境はみんなわからないから答えようがないのでは。winで出来るならwinで出来てる環境にlinux側を寄せてみては?
0429デフォルトの名無しさん垢版2018/06/30(土) 14:34:33.33ID:+7yWvOia
>>426
関数がジェネレータの定義
その戻り値はジェネレータのインスタンス
クラスとインスタンスの関係に相当する
ヘビという概念と実際にお前の背後にいるヘビの関係のようなもので、どちらが正しいということはない
0430デフォルトの名無しさん垢版2018/06/30(土) 14:42:17.36ID:hB6thL97
その用語集にも書いてあるがジェネレータという単語は両方の意味で使われるので文脈次第
ただ日本語圏ではジェネレータイテレータを指す方が逆に一般的ではないかと思わなくもない
ジェネレータ関数もfunctionだし、返ってくるのはgenerator objectだしでね

そこらの解説で雰囲気を掴むのは良いが、独自解釈も少なくないので公式ドキュメントを読みましょう
0434デフォルトの名無しさん垢版2018/06/30(土) 21:01:27.46ID:F/jI374V
python.orgが過負荷になってただけだと思う
0435デフォルトの名無しさん垢版2018/07/01(日) 01:20:36.68ID:blR+9qab
最近Pythonを始めたものです
質問があります

.pyをexe化しようと思い
VSCodeのターミナルでpyinstallerを行いました
その後参考にしたサイトの手順通りに
pyinstaller sample.py
と入力し、最終的にはexeが出来上がるのですが実行しても何も起きません
処理としましては画像を読み込み上下反転して新しいファイル名で保存するという内容です

調べてみたのですがヒットしたサイトに書いてあることが難解で理解出来なかったため質問させて頂きました

exeが出来上がるまでのターミナルのログにはWARNING lib not foundが大量に流れていました
実行出来ないのは上記のせいだと思うのですが解決方法がわかりません

解決方法をご教示頂けると幸いです

Pythonは3.7
pyinstallerは3.3.1
win10の64bitです
0438デフォルトの名無しさん垢版2018/07/01(日) 07:52:54.30ID:KMROIkKi
たぶんそう
Python3.6に対応するのにも10ヶ月くらいかけてたからね
来年春頃にチャレンジしてくれたまえ
0440デフォルトの名無しさん垢版2018/07/01(日) 09:55:00.54ID:usR85dqh
参考にしたサイトに聞けとは言わないまでも
どこを参考にしたのかは書けよ
Qiitaだったら死刑
0441遊園地 ◆ExGQrDul2E 垢版2018/07/01(日) 10:14:27.87ID:wtxZXieP
メインメニューから、
Visual Studio 2017
VS 2017 用 x64 Native Tools コマンド


で、打ち込んだら行けそうだとは思う。
いや、知らんけど。
0442デフォルトの名無しさん垢版2018/07/01(日) 13:24:05.16ID:B6/ICS0x
昨日初めてAIに興味がある事と後学のためにと本を買いpython触り始めた者です
現在、コマンドプロントを使ってCuPyをインストール
そして、pythonにインポートしようとしたのですが、何度本の通りにしても下記画像のようになりインポートされません…
プログラミング行う前の初歩中の初歩で躓いてしまい恥ずかしいですが、助けていただけないでしょうか

使用ツール
アナコンダ3 4.2.0(64bit)
VisualStudio2015Community
CUDA 9.0
CuPy 2.3.0
Chainer 3.3.0

使用環境
win10(8.1からのアップグレード版)
intelCOERi5

https://i.imgur.com/ki933GH.jpg
0446デフォルトの名無しさん垢版2018/07/02(月) 07:51:12.76ID:9wGdj7CA
CUDA とは、NVIDIAが開発・提供している、
GPU向けの汎用並列コンピューティングプラットフォーム(並列コンピューティングアーキテクチャ)
およびプログラミングモデルである

こんなもの、10年以上のベテランがやるものだろw
0447デフォルトの名無しさん垢版2018/07/02(月) 11:12:23.11ID:h1vNIHyU
os.renameでファイルを移動する際に移動先のフォルダがなかった場合、
フォルダを作って移動してくれる場合と、
移動に失敗する(フォルダを手動で作れば移動してくれる)場合があるんですけど
なんでそうなるのかわかりません
0449デフォルトの名無しさん垢版2018/07/02(月) 12:47:13.81ID:lZblgvr/
ファッキンビチグソeclipseを捨てて乗り換えるならVSCodeだろうな
eclipseのように(というのもおこがましいほどにeclipseより遥かに手軽で軽量で安全で高度だが)プラグイン入れれば何にでも対応できるし、
一緒にJavaをちょっと編集したくなったときもe糞プスを起動しなくてもVSCodeのままでそこそこいける
0451デフォルトの名無しさん垢版2018/07/02(月) 13:00:11.52ID:lZblgvr/
eclipseのゴミのようなクォリティでIDEと呼んでいいんならVSCodeは十分にIDEとしての機能性を備えてるよ
DBエディタのように、コードを超えたインターフェースもあるし
0452デフォルトの名無しさん垢版2018/07/02(月) 14:31:17.41ID:eMVFPvKk
先週からpydroid3触り始めたけど、PyQt5まで動いてびっくりした。
画面の関係で、全く同じフィーリングという訳にはいかないけど、ウィンドウのレイアウトさえ修正すれば
パソコンのPyQtアプリがそのまま動きそう。
母艦がXubuntuでスマホがAndoridのマイノリティな俺だけど、Andoridパッド衝動買いしちゃいそう。
0453デフォルトの名無しさん垢版2018/07/02(月) 20:35:28.32ID:sDqJNw7J
アホですみません
pandasで
x=pd.DataFrame('A':[1,2,3],'B':[4,5,6],'C':[7,8,9])

print(x[0:2])

出力が
0行目と1行目しか出ないのはなんでですか
0から2行なので合計3行出るのではないんですか
0455デフォルトの名無しさん垢版2018/07/03(火) 08:01:32.39ID:6Spyoog5
>>453
「食器棚に入ってるお皿を左から2枚もってきて」
って言われたら3枚もってこないだろ?そういうことだよ
0457遊園地 ◆ExGQrDul2E 垢版2018/07/03(火) 10:58:28.98ID:syKRmC4v
>>453
head[A,B,C]が0番目として、含まれてるから
実質4要素

下記のコードで確認してみ?

import pandas as pd
x=pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]})
print(x[0:2]),print()

print(x.head(0)),print(),print()

print(x.head(1)),print()
print(x.head(2)),print()
print(x.head(3)),print()
0458遊園地 ◆ExGQrDul2E 垢版2018/07/03(火) 11:04:40.79ID:syKRmC4v
名前空間だから、実際の要素では無いのか。
[遊園地の]解釈自体が間違えてるかも知れないようから、
区画ソートをできる人に聞いてくれ。
0459デフォルトの名無しさん垢版2018/07/03(火) 11:12:44.04ID:EG+Srxkj
(,a,b,c,d,)
「,」の部分を数える
[0:2]だったら前から0番目の「,」と2番目の「,」の間の区間(a,b)
0460デフォルトの名無しさん垢版2018/07/03(火) 12:34:53.41ID:RGWVubcd
>>455
その説明では[0:2]の2は要素数を示すことになってしまうから説明として正しくない。
「食器棚に入ってるお皿をいちばん左から3枚目の手前までもってきて」が正しい表現かな。

たしか、数直線を思い浮かべてほしいんじゃなかったけかな?
0  1  2  3
+ーー+ーー+ーー+ー  
<う> <ん> <こ>      だと
[0:2]=うん になるんよ。
0461デフォルトの名無しさん垢版2018/07/03(火) 12:40:28.33ID:OVTJrzKJ
>>453
n、mを指定して範囲を示すとき、pythonは配列に限らずn <= x < mとなるように設計するのが基本。
これは言語によりまちまちで、最近の言語はn <= x <= mとするものも少なくない。

俺含めおっさんプログラマに後者な言語を見せると発狂して死んでしまうので注意。
0463デフォルトの名無しさん垢版2018/07/03(火) 13:06:36.53ID:onhdh/0N
rubyとかいうクソ言語では
first..lastはlastが含まれ
first...lastはlastが含まれないという、
どっちがどっちか覚えるしかない恣意的表記のクソ仕様。
これに限らず==、===、eql?、equal?の違いなど、コードが仕様だ精神のドキュメントあっち行け思考のクソ開発方針のため、クソ開発者がクソテキトーに決めたクソ仕様を覚えるしかないクソ言語。

ちなみにnimは、
first..lastはlastが含まれ
first..<lastはlastが含まれない
0464453垢版2018/07/03(火) 15:12:44.88ID:+Y7+qb84
ありがとうございます!
0466遊園地 ◆ExGQrDul2E 垢版2018/07/03(火) 16:10:15.77ID:syKRmC4v
どこの板でも5ch共通点は
1.絶対に他人を褒めない。
2.煽りが尋常じゃない。
3.初心者へ謎の解説

ようやく、2,5chに慣れて来た。


Ruby房が超初心者python房を舐めてんねん。
そしたら、クソが溜まったRuby房はスカトロマニアと呼ばれて、
便器と超初心者python板を間違えて、初心者相手に、お互いに自慰好意しだす。

お互いに自分の房(棒)を舐めあってるのに、気持ち良く
なる奴は居ない。と言う矛盾が生じるんだよな!!
0467デフォルトの名無しさん垢版2018/07/03(火) 16:55:25.48ID:jrYnrzqQ
>>443
>>446

>>442です
ありがとうございます!
ド素人が使えるやつじゃないのですね…
素人が使えるようにしろよ!ふざけんなふざけんな作者って気持ちです
ここでも話題に上がってるようにエクリプスとか統合開発環境突っ込んでやってやります!
0468デフォルトの名無しさん垢版2018/07/03(火) 18:09:57.03ID:HI6Z9dZ+
普段使ってるChromeからcookieをjsonファイルでエクスポート
→ファイルを読み込んで、dict型にして、requestsに渡すことでログイン後のhtmlを取得
ということがやりたいんですが、具体的にはどうやればいいんでしょうか?

とりあえずこの拡張が出力するjsonを渡してみたけどダメでした
https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=ja
0469デフォルトの名無しさん垢版2018/07/03(火) 18:32:16.07ID:HI6Z9dZ+
自己解決しました
Cookieをエクスポートするフォーマットをsemicolon形式にして
出力されたテキストを置換して
cookie=dict(aaa="123",bbb="234") みたいにやったらうまくいきました
0471デフォルトの名無しさん垢版2018/07/03(火) 20:15:04.43ID:0rbKYYHZ
テキストファイルの末尾から10行を表示したいのだけど
どうやればいいのか全くわからない
テキストが数百ギガバイトあるため、全部リストにぶち込むとかは無理
0472デフォルトの名無しさん垢版2018/07/03(火) 20:39:09.05ID:BhHhKgjH
一回目で先頭から末尾まで行数を数えて二回目で行数-10だけ飛ばす
collection.dequeをmaxlen=10にして全行appendする
tailコマンドを使う

どれでもどうぞ
0474デフォルトの名無しさん垢版2018/07/04(水) 00:33:23.52ID:OxUMeZjO
Ruby では、IO クラスの、

io.each_line で、1行ずつ読み込める
io.read(size) で、サイズ指定して読み込める

io.pos, io.seek で、ファイルポインタも移動できる
0476デフォルトの名無しさん垢版2018/07/04(水) 05:16:53.53ID:lYpq3kCa
こういうやり取りを見てるとプログラムを書くってのは面白いなと思う、人それぞれなんだよな
0478デフォルトの名無しさん垢版2018/07/04(水) 11:00:47.00ID:NOHgpGJH
>>471
ちょっと搦手かも知れないけど、やっぱりめんどくさいから俺もtailコマンド使うかな?

>>> import subprocess
>>> ret=subprocess.check_output(['tail','-n10','theFile.txt'])
0481デフォルトの名無しさん垢版2018/07/04(水) 12:22:02.07ID:4DkGM1mz
>>476
一つ言える事は俺たちがクソやからそうなるだけで
賢い人達のプログラムにはここまで多様性はない
0482デフォルトの名無しさん垢版2018/07/04(水) 13:23:29.16ID:xdX5HHps
python初心者です、環境について教えてください
VSCodeとPyCharmだとどちらがおすすめでしょうか?
また、Windowsで他におすすめありますか?
クレクレですみません
0484デフォルトの名無しさん垢版2018/07/04(水) 13:46:15.41ID:sK+g9tr5
PyCharmは高価な有償製品なので無償で使える機能には制限がある
無料でプラグイン入れてカスタマイズしたいならVSCode
無料でWeb開発したいならVSCode
0485デフォルトの名無しさん垢版2018/07/04(水) 14:04:48.83ID:NOHgpGJH
>>482
Geany使ってたけどWinにもある? 最近VSCodeに乗り換えました。
手軽にカスタマイズするならSciteもいいかも(Geanyの前に使ってた)。

Atomも最近はやってるらしいけど、挫折しました、てへ。
0486デフォルトの名無しさん垢版2018/07/04(水) 21:51:27.72ID:gFgZc5FG
U54
0487デフォルトの名無しさん垢版2018/07/04(水) 22:33:53.48ID:ng+0N/IT
すみません、pythonの並列化処理で教えていただければと
pythonを最近学び始め、joblibやmultiprocessing というモジュールをインポートすれば並列化できるというところまではわかりました。
ですが、1から100までのfor文を分割して、1~25,26~50,51~75,76~100のようなことを4つのコアそれぞれにやらせようとすると、どう対処したら良いのかわからないのですが、
こういう場合に良いやり方はあるのでしょうか?
0488遊園地 ◆ExGQrDul2E 垢版2018/07/04(水) 22:47:14.54ID:fl3R7P9J
公式に有る標準のpythonで良いやろ。

マルチスレッド&マルチコアはGGったら出てくる。
ただ、実装は、どうなるか分からない。

import multiprocessing
from multiprocessing import Pipe
from multiprocessing import Lock
from multiprocessing import Manager
from multiprocessing import Process
from multiprocessing import Value, Array
from multiprocessing import Pool, TimeoutError

https://docs.python.jp/3/library/multiprocessing.html
0489遊園地 ◆ExGQrDul2E 垢版2018/07/04(水) 23:07:07.97ID:fl3R7P9J
GPU不明

import os
import platform
import multiprocessing
l=platform.system()
r=multiprocessing.cpu_count()
lr=len(os.sched_getaffinity(0))
print(l,r,lr)
0490デフォルトの名無しさん垢版2018/07/04(水) 23:39:57.98ID:ng+0N/IT
>>488
>>489
ありがとうございます。
まだすぐには理解できませんが、
理解できるまで記述いただいた内容や公式リンクをよく勉強します。
0491デフォルトの名無しさん垢版2018/07/05(木) 00:09:26.59ID:T0L/NWDK
>>482
本格的とはいえないけど、
PyScripterはとにかく軽くていい。
エディター部分が少し弱い気もするけど、
一応IDEらしいことができるし、重宝してる。
0496デフォルトの名無しさん垢版2018/07/05(木) 11:42:30.52ID:IcGtf/nv
ageてみる
0497デフォルトの名無しさん垢版2018/07/06(金) 20:40:03.20ID:8M+Xsunh
>>> x = int(input("整数を入れてください;"))
整数を入れてください;44
>>> if x < 0:
x = 0
print("負数はゼロとする")
elif x ==0:

SyntaxError: inconsistent use of tabs and spaces in indentation

"オライリー Python チュートリアル第3版”本の通りにテストしようとすると、
途中でエラーが出てしまう。

実行環境は Windows10 x64, python は以前3.6でうまくいかないので、3.7しました。

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
0498デフォルトの名無しさん垢版2018/07/06(金) 22:37:56.41ID:sIOuXx+P
SyntaxError: inconsistent use of tabs and spaces in indentation

このエラーの通りだろ
インデントに タブ と スペース が混在している
0501デフォルトの名無しさん垢版2018/07/07(土) 09:46:01.38ID:7kPpsH+C
前から思ってたけど、文頭の空白が削除されて2ちゃんはPython向けじゃないなぁと...。
専ブラなら大丈夫なんすか?
0503デフォルトの名無しさん垢版2018/07/07(土) 10:32:04.91ID:LxSGsocZ
>>502
コードが崩れるからとは書いてないけど
くだすれPython(超初心者用) その32
http://echo.2ch.net/test/read.cgi/tech/1486173667
までは
◆関連リンク Python の Home Page
ttp://www.python.org/
◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/
ttps://try.jupyter.org/
◆まとめwiki
ttp://python.rdy.jp/
って書いてあった
で、
くだすれPython(超初心者用) その33
http://echo.2ch.net/test/read.cgi/tech/1490424742/
で無くなってる(>> 2以降に移したのかも知らんが…)
とりあえず次スレ立てる人は復活してほしいな
0504デフォルトの名無しさん垢版2018/07/07(土) 19:52:21.38ID:MYwzU1cJ
まぁ、スペース4つを全角スペースに置換してここに貼ればいいだけなんだけどな。
0506デフォルトの名無しさん垢版2018/07/07(土) 21:12:18.72ID:cKmJS2is
後者は2文字分余計にパース時間がかかるし、文字列の最後まで比較が完了したかチェックが必要なので、理論的には前者が早いが、
ボトルネックを調べるまではそんなこと気にしても意味がない。
0509デフォルトの名無しさん垢版2018/07/08(日) 05:02:05.68ID:HGazO2t1
>>498,499ff,500

ありがとうございます。

pythionのIDELなのですが
設定でタブを2にしても4にしても、なぜか下の段の
インデントは8位になり、うまくいきません。
0513デフォルトの名無しさん垢版2018/07/08(日) 14:58:29.46ID:hvpTMDL4
>>505
ipythonの%timeitでそういうのを調べられる
ものすごく僅かな差だが、数値のほうが早い
あと変数名が短いほうが早い

%timeit if a==1: pass
52.9 ns ± 0.122 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
%timeit if a=="1": pass
56.7 ns ± 0.513 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
%timeit if hoge==1: pass
53.9 ns ± 0.365 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
%timeit if hoge=="1": pass
57.5 ns ± 0.084 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
0514デフォルトの名無しさん垢版2018/07/08(日) 19:12:48.21ID:FXqCe1Jq
>>513
調べてくれてありがとう。
変数名の長さについては予想通りの結果ではあるんだけど、
数値と数字の差がそれ以上に大きかった(前者が平均でおよそ6.5%速い)ということに驚いた。
0515デフォルトの名無しさん垢版2018/07/08(日) 19:47:51.32ID:7IyBQLqQ
VBAをそれなりに使えるようになったからPython始めてみたいんだが、やっぱり全然難しい?
VBAの難易度を10としたらPythonはどのくらい?

あと、この関数はVBAで言ったらコレ!みたいな早見表みたいのないよね?
0517デフォルトの名無しさん垢版2018/07/08(日) 22:16:58.63ID:9FsG7rKp
>>515
既にVBAを使えるなら簡単だよ
くどい型宣言、配列のみの貧弱なデータ構造といった
VBAの使いづらい点が、Pythonでは全て解決されている

ただしWebやネットワークの世界には手を出すなよ
Python以外にも必要な知識が爆発的に増えていくら時間があっても足りない
Pythonはローカルのテキストデータをいじくる用途で輝く言語だ
0518デフォルトの名無しさん垢版2018/07/08(日) 22:19:33.46ID:R+BMdkT4
>>515
ナカーマ!
俺もVBAは随分とマスターしつつあるのでPythonに手を出し中…。
入門書からコツコツやっててイメージが湧きつつある!!
0519デフォルトの名無しさん垢版2018/07/08(日) 23:51:01.54ID:7IyBQLqQ
>>516-517
まじで?すげー難しいイメージあったんだが本格的に学んでみようかな


>>518
(゚∀゚)人(゚∀゚)ナカーマ
VBAはやりたいことがあってそれを調べてる内にできるようになったクチだから、Pythonは何ができるか分からんからとっつきにくいわ
0520デフォルトの名無しさん垢版2018/07/09(月) 02:17:48.93ID:LaDaXFYH
記法について教えてください。

https://qiita.com/pumbaacave/items/942f86269b2c56313c15
上記のサイトのマルチプロセス実行関数を定義している箇所に下記のように記述があるのですが、
なぜカンマ以降空欄なのでしょうか?
process_pool = Pool(processes=n, )
0521デフォルトの名無しさん垢版2018/07/09(月) 04:04:31.40ID:lNBlYhG9
そのカンマは有っても無くても変わらんから消し忘れだろう

それで納得行かないならコメント欄で本人に聞いてこい
ここは著者の気持ち推測スレじゃないからな
0522デフォルトの名無しさん垢版2018/07/09(月) 06:40:13.77ID:TvZsnLJ0
毎週得意先から10くらいのPDFが送られてくるのですが。

PDFを全て選択→コピー→貼り付け→ボタン押してVBA発動(社内で見たい数字に変換)→次のPDFを開く…手作業で繰り返しています。

これをPDF自動で開かせてコピーペーストしてVBAを動かす、、までPythonでやりたいのですが、可能でしょうか?
0524デフォルトの名無しさん垢版2018/07/09(月) 09:02:54.85ID:rKnQV5/G
課題解決において、本当に優れたソリューションは有効性や実現性だけでなく応用性・永続性・再現性を備えている
・PDFのフォーマットが変わったらどうするのか?
・自分が今の仕事から離れたらどうするのか?
・他の業務にも広く展開できないか?
Pythonで他の誰にも分からないもの作るより、522が率先してRPA入れて展開したほうが遥かに522は評価される
そういう思考と行動ができればCIOにだってなれるぞ
0529522垢版2018/07/09(月) 12:44:00.66ID:pU5gW32k
皆さん、回答ありがとうございます。
もう少し自分の方で調べてから、再度質問させて頂きます。
0531デフォルトの名無しさん垢版2018/07/09(月) 19:05:37.08ID:H6u5Fx+k
>>530
マジでやばいな
ウィルスだらけで、PC壊れた。

弁償してくれ。
0533デフォルトの名無しさん垢版2018/07/10(火) 23:25:58.83ID:czFq4uQ7
特定しました
0534デフォルトの名無しさん垢版2018/07/13(金) 09:49:36.96ID:beR71Flm
今更だけど>>447に自己レス
os.renameだと移動先がない場合、FileNotFoundErrorになる
os.renamesだと移動先がない場合、自動生成してくれる
Pythonの標準ライブラリはsのある・なしで動作が変わるものがあるから気をつけないといかんね
0536デフォルトの名無しさん垢版2018/07/14(土) 11:36:12.84ID:v4Gtt50J
mkdir
mkdirs
もありまっせ
0537デフォルトの名無しさん垢版2018/07/14(土) 12:46:59.88ID:zjgvls6Z
Pythonのファイル操作関連機能は
複数ライブラリに散らばってたり重複があったりと
カオスなことになってて非常に使いづらい
一度自分用の早見表を作ったんだけど紛失してしまった
3で互換性なくなる時にpathlibあたりに一元化すれば良かったのに
0539デフォルトの名無しさん垢版2018/07/14(土) 17:57:55.26ID:+qTTsOaT
自分専用にラップといえば、
re.searchはマッチしたものを直接返せないと思って関数作ってたけど
↓みたいににすれば直接返せると最近知った

txt="123456"
mat=re.search("12(.*?)56",txt).group(1)

マッチオブジェクトを返すってなんだよ使いにくいなぁと思ってたけど
使い方を知ったらなかなか便利だと感心した
0540デフォルトの名無しさん垢版2018/07/14(土) 18:08:46.03ID:bBAel3cq
そういえばGuidoがBDFL辞めるらしいな
PEP572関係でdisられたのが原因らしいが、ML追っかけてないからよく分からん
まあ、辞めたところで何がどうなることもないと思うがね
0544デフォルトの名無しさん垢版2018/07/14(土) 19:39:05.18ID:pZ9+lrqM
>>534
sortに対するsortedのつもりで、reverseに対するreversedを使おうとするとハマる。
こちらはイテレータを返すので、もう一度リスト化しないと同じにならない。
0545デフォルトの名無しさん垢版2018/07/14(土) 22:22:07.13ID:zjgvls6Z
>>543
たぶん以下のように正規表現パターンをコンパイルして使えってことだと思う
同じパターンで繰り返し何度も検索する時に速度的に有利・・・らしいが
これを使わないのは正しくない、というのは言い過ぎ

txt="123456"
r = re.compile("12(.*?)56")
mat = r.search(txt).group(1)
0550デフォルトの名無しさん垢版2018/07/14(土) 23:27:08.84ID:/GhuOfpQ
>>548
ミスマッチの結果、二次的に発生した例外を捕まえてエラーハンドリングするのは意図が伝わりにくいしピタゴラスイッチかよって気がする
0551デフォルトの名無しさん垢版2018/07/14(土) 23:36:28.34ID:pZ9+lrqM
そのままsearchして(この時点で例外とはならない)、
try-catchでgroup(1)すればいいのでは?
0552デフォルトの名無しさん垢版2018/07/15(日) 01:12:03.97ID:WCfEKFtx
製品のプルリクに入ってたら直せって言うけど
個人のコードだったらどうでもいいわ
0554デフォルトの名無しさん垢版2018/07/15(日) 08:37:24.40ID:MaWYhEE+
webスクレイピングは、サイトの仕様変更である日突然マッチしなくなる可能性があるけど
それを想定して例外処理を作っとくのは面倒だし、作り忘れが発生する可能性も高いから
あえて>539のやり方を使って、エラーで止まるようにしたほうがわかりやすいかもしれん
0555デフォルトの名無しさん垢版2018/07/15(日) 08:50:29.23ID:BpM21w6A
仕様変更なのか
一時的な障害なのか
たまたまエラーになるデータだったのか
他の理由なのか

そういうの分析しないといけないから
リクエスト、レスポンスのダンプと処理のログは残したほうがいいよ
0556デフォルトの名無しさん垢版2018/07/15(日) 09:47:46.97ID:507A2oF2
教えてって書いてあるから横から思うところを言っただけだが
>>549みたいなこと言われるんだったら二度と教えねえわ
0558デフォルトの名無しさん垢版2018/07/15(日) 14:02:20.42ID:lCAlUWZR
もっとちゃんと謝って
0559デフォルトの名無しさん垢版2018/07/15(日) 14:14:15.96ID:LnWCwVdC
>>553の方法でNoneじゃないことを確認すれば何の問題もないんだよな
間違った方法ではない

>>556教えたくないなら教えなければいい義務ではないのだから
0560デフォルトの名無しさん垢版2018/07/15(日) 14:49:01.29ID:SyiaUNYr
Optional type hintつかえや
0561デフォルトの名無しさん垢版2018/07/15(日) 14:52:56.10ID:ULhjy0aZ
>>559
間違っている箇所(戻り値チェック)を直せば、「間違った方法ではない」のは当たり前ですけどね…
0562デフォルトの名無しさん垢版2018/07/15(日) 15:59:51.01ID:mOOR+1Qr
def func():
a,b=・・・
return a,b
の戻り値aだけが欲しい時にa=func()[0]などとせずa=func()だけで可能にする方法ある?
0568デフォルトの名無しさん垢版2018/07/15(日) 16:58:39.39ID:JvvU9qo5
>>565
matlabだとそれができるから、matlabから来た人は重要な戻り値を先頭にしてたまにだけ欲しい戻り値を後ろに書きたくなる
pythonでそれ同じようにすると、a,_=func()とかa=func()[0]とか書かなきゃならないのを忘れてどこかでエラー出ることが頻繁に発生する
0569デフォルトの名無しさん垢版2018/07/15(日) 17:01:56.80ID:0QdlwMDB
>>567
俺もそれ思ったけど、質問者の意図はreturn a,bとした上でaだけ返すって意味みたい。
なんでそんなことしたいかは分からんけど
0571デフォルトの名無しさん垢版2018/07/15(日) 17:21:18.42ID:z9dis41F
>>539
None で Exception 出ないか?
0572デフォルトの名無しさん垢版2018/07/15(日) 17:27:59.50ID:z9dis41F
yeald a, b
0573デフォルトの名無しさん垢版2018/07/15(日) 17:29:17.38ID:z9dis41F
ああ違うか
yeald a
yeald b
ydald c
...
0574デフォルトの名無しさん垢版2018/07/15(日) 17:37:09.40ID:GnA/ld69
>>568
そのために
> a=func()だけで可能
なんてされたら迷惑だよ
自分だけで使うと言うならPythonの処理系弄ればいいと思うよ
0576デフォルトの名無しさん垢版2018/07/15(日) 17:38:56.90ID:lEsxGLKr
>>545

txt="123456"

r1 = re.compile("12(.*?)56")
mat = r.search(txt).group(1)



r2 = "12(.*?)56"
mat = re.search(r2, txt).group(1)

結果は同じになるけど、
オブジェクトにするかしないかで、細かい違いはどういうところで出てくるの?
0577576垢版2018/07/15(日) 17:43:15.60ID:lEsxGLKr
最初の方(r1)間違った

txt="123456"
r1 = re.compile("12(.*?)56")
mat = r1.search(txt).group(1)
r2 = "12(.*?)56"
mat = re.search(r2, txt).group(1)
0588576垢版2018/07/15(日) 20:52:52.55ID:lEsxGLKr
>>579,>>583
やはりオブジェクトにコンパイルすると効率が上がるという点が全てみたいだね。
あとは、コンパイルのコストとの比較になるのかな。
0590デフォルトの名無しさん垢版2018/07/15(日) 21:58:34.41ID:+eT7t0LR
「今度の大型案件はコンパイルで〜」
「お宅もですか?実は弊社もコンパイルを〜」
「最近はコンパイルがないと始まりませんな〜」
「今度入った新人、若いくせにコンパイルも知らないと〜」
0591576垢版2018/07/15(日) 22:43:17.00ID:lEsxGLKr
>>589
> どっちも正規表現オブジェクトにコンパイルされてるよ。明示的か暗黙かの違いはあるけど。
つまり、
r1はJavaScriptでいうところのRegExp() コンストラクタ(var r1 = new RegExp("12(.*?)56");)、
r2は同じく正規表現リテラル(var r2 = /"12(.*?)56"/;)と同じ、という考え方でいいのかな。
たしかにどちらもコンパイルと言ってた。

ということは、件のコードに効率には大きな違いはない、
ひいてはどちらを使っても構わない、
ということでいいの?
JavaScriptではリテラルのほうが速いとされているんだけど。
0592576垢版2018/07/15(日) 22:53:44.08ID:lEsxGLKr
失礼、コピペで余計なクォートを入れちゃった。
正規表現リテラルは、var r2 = /12(.*?)56/; ですね。
0594デフォルトの名無しさん垢版2018/07/15(日) 23:46:56.69ID:cDGgo13V
r1とr2って言っちゃダメだな

R1とR2ってことね
-----R1-----
r1 = re.compile("12(.*?)56")
mat = r1.search(txt).group(1)

-----R2-----
r2 = "12(.*?)56"
mat = re.search(r2, txt).group(1)
0595デフォルトの名無しさん垢版2018/07/16(月) 06:30:22.35ID:XBIjWYki
>>591
> ということは、件のコードに効率には大きな違いはない、
そうだよ
1回しかやらないならね

> ひいてはどちらを使っても構わない、
> ということでいいの?
compileは>>545が書いてる通り
>> 同じパターンで繰り返し何度も検索する時に速度的に有利・・・
ってこと
0596デフォルトの名無しさん垢版2018/07/16(月) 11:41:43.52ID:80hpbb9v
正規表現リテラルは、実行する前に決まっている場合

一方、オブジェクトは、実行時に決まる場合にも使える
0597596垢版2018/07/16(月) 11:45:24.46ID:80hpbb9v
Ruby のコーディング規則では、

正規表現リテラルは、Perl との互換性を保つ表記で、わかりにくいから、
常にオブジェクトの方を使え、って書いてあるものもある
0598デフォルトの名無しさん垢版2018/07/16(月) 11:54:01.92ID:rAvhQng0
ポンコツrubyの思いつきコーディング規則とやらに合わせてのjavascriptで速くなることが分かりきってるリテラル使うなってか?w
頭湯だってんじゃねーか?wwww
0599デフォルトの名無しさん垢版2018/07/16(月) 11:57:38.49ID:KKQqxuup
rubyはどうでもいい
0600デフォルトの名無しさん垢版2018/07/16(月) 16:13:11.31ID:Od4s/iux
re.compile した結果をどっかに pickle して保存とかできますか?
0601デフォルトの名無しさん垢版2018/07/16(月) 17:41:56.21ID:fgL4HgKC
気にするな
Pythonなんか元々ビチクソ遅いんだからそんなこといちいち気にしてたら禿げるぞ
0602576垢版2018/07/16(月) 23:23:44.54ID:vArnB9ir
>>593-597
search()関数は、内部的にはcompile()関数+search()メソッドなんだねぇ。
だから、同じ正規表現パターンを複数回用いる場合は、
R1(わざわざ再定義ありがとう)のような
正規表現パターンオブジェクト+search()メソッドにすれば、
その度にコンパイルする無駄がないというのが理解できたよ。

そして、R2の使い方は見た目はわかりやすいけど、
プログラム動作的には(特に複数回行う場合)
あまり意味がないということみたいだね。

勉強になりました。
レスしてくれた方々、どうもありがとう。
0603デフォルトの名無しさん垢版2018/07/17(火) 14:45:03.69ID:+kxKOOfA
どうみても R1 の方が判りやすい
0605デフォルトの名無しさん垢版2018/07/17(火) 16:06:12.89ID:37glYQle
>>603
Rは遅い。
0606デフォルトの名無しさん垢版2018/07/18(水) 21:43:08.13ID:MvYBetm/
anacondaでspyderをupdateする方法が分かる人おる?
ちな、「conda update spyder」という理屈も分からない魔法の言葉はとりま試してみたけどダメだった
0607デフォルトの名無しさん垢版2018/07/18(水) 21:44:24.37ID:b18bN/MZ
$ python3 -m pip install -U discord.py
でdiscord.pyというパッケージ?をダウンロードしましょうという記事がありました
パッケージをダウンロードするなら
$ pip install disord.py
でいいのではないでしょうか?
-mや-Uは何のためについているのですか?
0608デフォルトの名無しさん垢版2018/07/19(木) 07:19:44.95ID:YpRGm32q
どう考えても5chに文章書いて聞くよりも
ググる方が簡単に答えが見つかるのですが
この事についてどう思ってるのでしょうか
0609デフォルトの名無しさん垢版2018/07/19(木) 07:53:50.41ID:iuCKWNUm
>>608
今の検索システムは役に立たない個人ブログとかまとめとかが
大量に引っかかって、ほんとに知りたい情報を探すのが大変だからな
2chでズバリ聞く方が簡単
0610デフォルトの名無しさん垢版2018/07/19(木) 08:23:52.76ID:YpRGm32q
このスレに質問してくる人のメンタルが判って良かったです
なるほど、そういう考え方をしてるのですね
0612デフォルトの名無しさん垢版2018/07/19(木) 11:55:10.27ID:GcKjBxt+
>>609
検索して見つけたブログ等の記事は一方通行だからね
わからないことがあったときに5chで質問するのは何もおかしいことじゃない
0615デフォルトの名無しさん垢版2018/07/19(木) 21:38:51.56ID:NlyKZRek
英語で検索しても出てこない情報がここであっさり見つかることもあるわけで
わりと機能しているスレなんだけどな
0617デフォルトの名無しさん垢版2018/07/19(木) 23:33:17.16ID:OqKdLDhg
文章にして聞けるから検索力の低い俺は割と助かる
terateil行けやって言われそうだけど
0619デフォルトの名無しさん垢版2018/07/20(金) 06:57:38.20ID:rKy0rX9W
バカとオタクは使いよう
0622デフォルトの名無しさん垢版2018/07/20(金) 18:59:06.86ID:N+TPVOG0
N枚のシーケンス画像から1枚の画像を作ることを考えていて、画素毎に異なるシーケンス画像の値を参照したいと考えています
シーケンス画像のオブジェクトが
shape=(N,640,480,3) dtype=uint8
画素ごとにどのシーケンスから値を選択するかのオブジェクトが
shape=(640,480) dtype=int
となっています(値は0~N-1)

LUTのようにして一度に画素をすべて参照するにはどのように記述したらよいでしょうか
0623デフォルトの名無しさん垢版2018/07/20(金) 20:03:35.75ID:c77xM4ns
Pandas
0630デフォルトの名無しさん垢版2018/07/20(金) 22:46:13.73ID:xmKmSXFD
     \   ∩─ー、    ====
       \/ ● 、_ `ヽ   ======
       / \( ●  ● |つ
       |   X_入__ノ   ミ   そんな餌で俺様が釣られパンダ―
         、 (_/   ノ /⌒l
        /\___ノ゙_/  /  =====
        〈         __ノ  ====
        \ \_    \
         \___)     \   ======   (´⌒
            \   ___ \__  (´⌒;;(´⌒;;
              \___)___)(´;;⌒  (´⌒;;  ズザザザ
0631デフォルトの名無しさん垢版2018/07/21(土) 01:23:35.62ID:oMITg8sj
機械学習がどうとかaiがどうとか聞きますが実際ビジネスの場ではどのように使われているんでしょうか
ググって機械学習は分類分け?でビッグデータの相関を調べたり…と出てきてそれについては理解しました、他にはどういったものがあるんでしょうか
0632デフォルトの名無しさん垢版2018/07/21(土) 03:05:32.22ID:FfPVWpYP
>>631
上司「これからはAIの時代らしいでぇ!うちも何かやらんかい」
情シス君「わかりました」
ベンダー「PoCやりましょう!IoTセンサーのデータをAIで…」
情シス君「こんなんできました」
上司・社長「ほーん(ホジホジ)」
おわり

現実はマジでこんな感じ
0634デフォルトの名無しさん垢版2018/07/21(土) 10:27:52.17ID:RhnB+4TZ
マネジメント層ではなく投資家が踊らされてるわけでとりあえずAIとか言っていれば金が入ってくるんだから利用しない手はない
0636デフォルトの名無しさん垢版2018/07/22(日) 03:11:41.53ID:fV3eqRzC
あのう、Pandasモジュールってなんですか?
Python3.6.5のドキュメントにも載ってないし
0637遊園地垢版2018/07/22(日) 06:10:50.46ID:ygJ4tLZv
[データ操作]便利なモジュール
記述が楽になる程度
0638デフォルトの名無しさん垢版2018/07/22(日) 06:20:29.92ID:oEsUODrt
>>634
機関投資家は人間での投資をやめてAIにどんどん振り替わってますが。
0641デフォルトの名無しさん垢版2018/07/22(日) 10:01:49.90ID:J1Nh86LO
インタビューに応じれるレベルのAIはもうすでに何度か人類の根絶あるいは家畜化について言及している
ロボット流のジョークなのか本気なのか
本当に実現可能なプランがあるのかないのか
開発者自身にも全くわからないところが問題だ
願わくば可能な限り早急に人類を滅ぼして欲しいものである
0642デフォルトの名無しさん垢版2018/07/22(日) 11:25:28.01ID:8XCdGVrW
みんなのPythonをやった後に読むべき本はなんですか?
0644デフォルトの名無しさん垢版2018/07/22(日) 11:33:15.68ID:8XCdGVrW
>>643
すごく難しそうなんですが、大丈夫なんでしょうか……
0646デフォルトの名無しさん垢版2018/07/22(日) 11:46:53.35ID:+9+Rtykr
ごめん
くだスレだと思わずに書き込んでた
忘れてくれ
ただ良書なのは確かなのでそのうち読んだ方がいいかも

入門書やったんなら公式のライブラリにじっくり目を通して
何ができるのかを把握してから
思いつくものを手当たり次第に実装してみると良いかも
Pythonは本読むより実際に書いて慣れた方が良い
0647デフォルトの名無しさん垢版2018/07/22(日) 13:10:01.96ID:NHUbC5Q3
Effective Python、パーフェクトPython とかじゃないの?

Ruby の順番では、
たのしいRuby、Effective Ruby、パーフェクトRuby、メタプログラミング Ruby とか

Ruby/Python, Java/C# は双子だから、同時に勉強もできる。
Haxe では、Java/C# は同じ開発者がやってる
0648デフォルトの名無しさん垢版2018/07/22(日) 13:12:01.83ID:LiIRy0eu
>>642
みんなでpython

>>645
ほんそれ
0649デフォルトの名無しさん垢版2018/07/22(日) 14:25:27.24ID:owu96mLj
>>642
独学プログラマーを読みましょう。
0650遊園地垢版2018/07/22(日) 14:35:12.66ID:ygJ4tLZv
はじめから公式ドキュメント読んどけよな!
0654デフォルトの名無しさん垢版2018/07/23(月) 06:32:05.12ID:F2Uj8hhN
質問です。
Windows10でAnaconda3.6をインストールし、Jupyter notebookで以下のように入力すると、

>import matplotlib.pyplot as plt

このようなエラーが出ます。

https://i.imgur.com/kcsUVSO.jpg

いくつかググってAnaconda Promptにて以下のように入力してみたのですが解決しません。

>pip install numpy
>pip install matplotlib

ものすごい初歩的な問題で申し訳ないのですが、ご教示いただければ幸いです。
どうぞよろしくお願いいたします。
0656デフォルトの名無しさん垢版2018/07/23(月) 11:10:55.23ID:eU1p7hr8
>>654
jupyter経由せずにpythonプロンプトでも同じ結果?
0657デフォルトの名無しさん垢版2018/07/23(月) 11:30:34.75ID:F2Uj8hhN
>>656
回答ありがとうございます。
指示していただいたのはこういうこと↓でよろしかったでしょうか。
https://i.imgur.com/aur7BAM.jpg
0658デフォルトの名無しさん垢版2018/07/23(月) 11:39:25.78ID:FWe0l3/Q
ひろみ
コマンドプロントを変えて打ってみ?
0659デフォルトの名無しさん垢版2018/07/23(月) 11:46:13.67ID:F2Uj8hhN
>>658
「コマンドプロントを変えて」というのはこういうこと↓でよろしかったでしょうか。
https://i.imgur.com/7JIkFvi.jpg

全然関係ないことやってたらすいません。
0660デフォルトの名無しさん垢版2018/07/23(月) 13:20:37.63ID:+AdhLLBA
pip install じゃなくて
conda install だろ
0662デフォルトの名無しさん垢版2018/07/23(月) 14:02:34.03ID:eU1p7hr8
jupyterの方で
import sys
sys.path
出してみて
0665遊園地垢版2018/07/23(月) 16:56:26.27ID:FWe0l3/Q
sudo 系の管理者権限与えたら?
0666デフォルトの名無しさん垢版2018/07/23(月) 17:31:21.60ID:F2Uj8hhN
>>665
ありがとうございます。
すいません。UNIXのことは全然わからなくてWindows10において「sudo 系の管理者権限与え」る方法が分かりません。
せっかく回答していただいたのに申し訳ないです。
0667デフォルトの名無しさん垢版2018/07/23(月) 19:31:36.11ID:/85lFAZQ
Windows10 の、旗のスタートボタンを右クリックすれば、
PowerShell・PowerShell(管理者用)がある

コマンドプロンプトも、一般ユーザー用・管理者用がある。
起動時に指定できるだろ
0669デフォルトの名無しさん垢版2018/07/23(月) 19:40:31.46ID:/85lFAZQ
正確なエラーメッセージで、検索するのが基本!
これで、ほとんどのエラーは解決する

画像を貼っても、俺らは文字列をコピーできないし、
スレに、入力した文字列と、正確なエラーメッセージを書くべき
0670デフォルトの名無しさん垢版2018/07/23(月) 19:53:50.70ID:Uxcb8xo1
質問です。
Atomを使用してPythonで画像を表示させるだけのコードを書いているのですが、Pathに日本語が含まれているため、Atom-runnerがPathを認識してくれません。なにかアドバイス、解決策等ご教授いただけないでしょうか?
0672遊園地垢版2018/07/23(月) 21:16:59.13ID:FWe0l3/Q
機械学習と言う明度つきの酔拳衰弱に飽きた

 グレースケール以外で頼む
0673デフォルトの名無しさん垢版2018/07/23(月) 21:58:12.52ID:/85lFAZQ
>>670
ファイルパス・PC のユーザー名など、システム要件には、半角英数字以外は使えない。
半角空白も使ってはいけない

バグるから
0674デフォルトの名無しさん垢版2018/07/23(月) 22:04:48.82ID:lTphgcp9
問題は・・・







ひろみが男か女かってことだな
どっちにも取れるから悩ましい・・・
0677デフォルトの名無しさん垢版2018/07/24(火) 06:53:42.50ID:H4IhZHSB
a, b, c = dir["b"]
print(a,b,c)
0678デフォルトの名無しさん垢版2018/07/24(火) 06:56:12.76ID:LnNQf8jU
>>671
ありがとうございました!!

>>673
日本語のWindows10使っているのでどうしてもデフォで「画像」とか日本語名が入ってしまうものがあって……
上の方の綺麗なヒント…というか答えで解決できました。
0679遊園地垢版2018/07/24(火) 10:14:04.97ID:H4IhZHSB
Anaconda3.6を入れた次点でnpもmppも入ってる。と思うが、
install時にパス通して無かったりするの?
0680デフォルトの名無しさん垢版2018/07/24(火) 15:56:14.95ID:WBO96fmU
日頃の行いかな
0682デフォルトの名無しさん垢版2018/07/24(火) 22:05:40.95ID:I37o/KFK
みんなのPythonを読んでいるとインタラクティブシェルを使っているのでずっとインタラクティブシェルを使っていたのですが、
IDLEというのを開いてみるとインタラクティブシェルととても良く似ています。
インタラクティブシェルとIDLEは何が違うのでしょうか?検索してもよく解りません……
0685デフォルトの名無しさん垢版2018/07/25(水) 01:20:27.34ID:yrex6tuN
>>682
解らないということは、その知識は今の自分に必要ないと脳が感じて
理解を拒否しているんだよ
だからIDLEは今の君に必要ない。気にせず飛ばして進みなさい
解らないことを片っ端から解き明かしてゆくには人生は短すぎる
0686デフォルトの名無しさん垢版2018/07/25(水) 08:13:09.36ID:tSePLrEF
理解できないのは、単に能力が足らないだけじゃん。
理屈をこねくり回して噓ばっか言ってんな。
0687デフォルトの名無しさん垢版2018/07/25(水) 08:19:01.53ID:TPQazvuH
IDLEは中でインタラクティブシェルを動かしてるだけだろ
IDLEを好む人がいるのはWinでコマンドプロンプトが使いづらいからだと思う
0688デフォルトの名無しさん垢版2018/07/25(水) 09:27:11.17ID:yQLodg/p
>>682
あっしも初心者なので正しいか自信がないけど、どっちでも好きな方を使えば良いんじゃないかな?
自分はLinuxだけど、
インタラクティブな使用→ターミナルから $ python3でターミナル上で起動
ファイルから起動   →好きなエディタで編集・保存 & ターミナルから $ python3 hoge.py
アプリ的に使用    →デスクトップエントリ作ってメニューから呼び出し

って感じでやってます。ちなみにエディタはVS Code使ってます。
WinだとターミナルよりIDLEの方が使いやすいですか?           
0689デフォルトの名無しさん垢版2018/07/25(水) 09:57:45.54ID:SfO6vmHU
>>687
windows上ならBlenderのpythonのIDEもおすすめ
0690デフォルトの名無しさん垢版2018/07/25(水) 12:03:55.39ID:5hWwzbLP
エディタ上でターミナル動かせばいいじゃん
0691デフォルトの名無しさん垢版2018/07/25(水) 15:06:52.90ID:dOAdQyxd
>>1に"へび使いが優しくコメントを返します"ってあるけど全然優しくないコメントばっかだよね
0694 ◆QZaw55cn4c 垢版2018/07/25(水) 19:05:38.75ID:2d5RfbzO
>>692
どういう点に「根性の曲がった奴」という特徴を感じたのですか?
0695デフォルトの名無しさん垢版2018/07/25(水) 22:20:19.82ID:N3LhXYqU
IDLEはpythonの「とりあえず必要なものは最初からそろえておく」という哲学(電池同封)で
とりあえず使える簡易的なコードエディターと、そこそこ便利な対話的実行環境がついてるソフト

インタラクティブシェルはpythonの普通の起動方法
コードを書くときキーワードが色分けされたりしないし
複数行コピペとかもやりにくいからちょっと不便


基礎を学ぶ分にはIDLEのほうが便利だけど
他のプログラムとの連携とか
ファイル操作関連を学ぶときはインタラクティブシェルのほうが便利だと思う
0698デフォルトの名無しさん垢版2018/07/26(木) 07:58:21.53ID:gMflhY8A
ウェブ上にあるダウンロード可能なファイルが更新されたかどうかを判定したいんですがどういう方法が考えられますかね?
2,3時間で更新 中身はjsonのデータで今は1時間おきにdl,解凍後jsonの最終更新日キーの値が完全一致かで判定してますが凄く冗長で別の手段が無いかと思い質問しました。
0700デフォルトの名無しさん垢版2018/07/26(木) 10:58:57.69ID:iQaqqG1D
>>698
import requests
url = "https://httpbin.org";
head = requests.head(url).headers
print(head)

ほとんどのファイルはDataに更新日時が設定されてるはずだから
これが更新されたらファイルも更新されたとみなせばOK
0701デフォルトの名無しさん垢版2018/07/26(木) 11:02:43.66ID:iQaqqG1D
ちょい訂正
DataじゃなくてDateね

もしDateに変化がなくてもContent-Lengthとかが変わるはずだから
とにかくヘッダ情報の何かが変わったら更新されたと思っておけばいいだろう
0702デフォルトの名無しさん垢版2018/07/26(木) 11:27:39.17ID:1kwnF2yr
>Content-Lengthとかが変わるはず

わろす
0704デフォルトの名無しさん垢版2018/07/26(木) 16:15:22.05ID:IOMPt0BM
ttp://diveintopython3-ja.rdy.jp/iterators.html
ttp://diveintopython3-ja.rdy.jp/examples/plural6.py

Dive into Python3日本語版で質問があります。
このplural6.pyなんですが、
if len(self.cache) >= self.cache_index:
とありますが、
複数形にする規則は4つしかなく、マッチする場合はlen(self.cache) == self.cache_index
の場合しかないと思うのですが、なぜ>がつくのでしょうか?あと、

self.cacheは、それぞれの規則に基づいてマッチと処理を行うために必要な関数のリストになるものだ
(少なくともこれには聞き覚えがあるはずだよ!)。self.cache_indexは、キャッシュされた要素のうち、
次にどれを返さなければならないかを記録している。キャッシュがまだ残っている場合には
(つまりself.cacheの長さがself.cache_indexよりも大きい場合は)キャッシュがヒットする! やった!
マッチと処理を行う関数を初めから作るかわりに、値をキャッシュから取り出して返すことができるのだ。

というところもよくわかりません。コンソール(linuxです)からpython3 plural6.py wordと呼び出すごとに新しいインスタンスが作られて過去のキャッシュは破棄されると思うのですが。
0705デフォルトの名無しさん垢版2018/07/26(木) 16:26:30.55ID:g6Dcar1V
==で済むところを>=にしたり=<にしたりするのは予防効果を狙う意図もある
0706704垢版2018/07/26(木) 16:59:26.55ID:IOMPt0BM
>>705
ちょっと間違えてました。通常の4パターンにマッチする場合、len(self.cache) < self.cache_index
になる場合しかないようです。
if len(self.cache) >= self.cache_index:
になる場合がわからないのですが、詳しい方ご解説をお願いできませんか?
>>705
例外の場合ですか?
0707デフォルトの名無しさん垢版2018/07/26(木) 17:13:06.91ID:g6Dcar1V
ドモルガンの法則
0708704垢版2018/07/26(木) 17:17:26.98ID:IOMPt0BM
>>707
レスありがとうございます。高校時代の数学を思い出しました。
ただこのプログラム(plural6.py)の
該当箇所
if len(self.cache) >= self.cache_index:
return self.cache[self.cache_index - 1]


を削除してもプログラムは正常に機能したのですが、このコードには何の意味があるのでしょうか?
0709デフォルトの名無しさん垢版2018/07/26(木) 18:33:25.45ID:Onc9BOo2
654です。結局古いPC引っ張り出してAnacondaをインストールしてみたら無事グラフを出すことができました
回答いただけた方は本当にどうもありがとうございました
0711デフォルトの名無しさん垢版2018/07/26(木) 20:05:28.38ID:+zykdZnW
1. 仕様書 → プログラム
2. プログラム → 仕様書

1.は簡単だけど、2.は難しいから、2.をしない方が良い。
暗号化は簡単だけど、解読が難しいのと同じ。
逆方向が極めて、難しい

特に他人のプログラムでは、
プログラミングした人だけが仕様書の内容を知っているのに対して、
解読する側は、隠された情報を解かないといけないので、桁違いに難しい

まず、仕様書を見ること。
仕様書が無ければ、あきらめた方が良い

所詮、他人のプログラムを分析しても、時間が掛かるだけで得られるものはない。
他人の仕様書を、推測するだけだから

自分で仕様書を作って、それに則ってプログラミングする方が、短時間で能力向上できる!
0712デフォルトの名無しさん垢版2018/07/26(木) 20:07:52.93ID:SOSVow/d
1のほうが難しいな
演算式を文系が理解できる言語に置き換えろとか拷問にしかすぎんよ
0713デフォルトの名無しさん垢版2018/07/26(木) 21:35:25.40ID:+zykdZnW
if len(a) >= x:
return a[x - 1]

a が、リンゴかミカンなのか、わからない。
x が、価格か数量か、わからない

こういう推測は、プログラミングじゃない。
仕様を推測しているだけ

最初から、答えである仕様書を見る方が速い。
なぜなら仕様書は、解読者から見て、隠された情報だから、
どこまで行っても、推測に過ぎない

答えは仕様書にある。
答えがあるものを推測するのは無駄。
プログラミングした奴は答えを知っているけど、自分は知らないから、絶対に勝てない

100年研究しても勝てない。
所詮、答えじゃない。推測に過ぎない
0714デフォルトの名無しさん垢版2018/07/26(木) 22:04:08.10ID:7pP0Ecr7
どう考えても1のほうが難しい。
2を行うツールはたくさんあるが、1はほとんど無いし、数少ないツールも仕様記述のルールが厳しくコードで書いたほうがマシレベル、ってかコード。
0715デフォルトの名無しさん垢版2018/07/26(木) 22:54:50.32ID:pl0mdGJ7
日本の場合、仕様書に異常に盛り込みすぎて非現実的なものになっているか逆に適当すぎて仕様書にすらなっていないという状況が多すぎて
仕様書→プログラムという変換がエスパー無しでは不可能なことが多い
逆はまともに動くプログラムが手元にあるわけだから自動でやろうと思えばできる
0716デフォルトの名無しさん垢版2018/07/26(木) 23:42:22.89ID:+zykdZnW
if len(a) >= x:
return a[x - 1]

a のlen が、x 以上なら、a[x - 1] を返す。
これがプログラムの意味

でも、a, x が何かは、わからない!
これが仕様の意味

外部のプログラマーには、プログラムの意味しか、わからない。
仕様の意味は、仕様書を見た奴にしか、わからない

答えは、仕様書にしか存在しない!
0720デフォルトの名無しさん垢版2018/07/26(木) 23:53:55.87ID:IphAgnBQ
>>716
お前いつものRuby厨だろ?それRubyistに言ってみ?コミュニティに出入り禁止になるぞ
Rubyでは「コードが仕様」であり、ドキュメントは絶対に書いてはいけない
一方Pythonは「は?いや必要なものは書けよ」の文化だが、お前はこっち来なくていいから今すぐその間違った考えを改めてRuby村に戻って出てくるな
0722デフォルトの名無しさん垢版2018/07/27(金) 03:45:17.44ID:xspZOSEh
プログラム自体初心者です。
paizaというサイトでコツコツ問題を解いて勉強しているのですが
入門編3の演習2で詰まりました。

今まで動画で習ったことをやっていれば進めたけど
今回ばっかりはどうしても解けない・・・


こういう問題です。

標準入力で2つ(2行)の整数が与えられます。
1つ目の数値から2つ目の数値までを、1ずつ増加させながら、1行ずつ順番に出力するプログラムを作成してください。


わかる方がいたら、解説よろしくおねがいします!
0723デフォルトの名無しさん垢版2018/07/27(金) 04:02:58.93ID:Pso7UifQ
>>722
まずは自分でどこまでやったか報告
0724デフォルトの名無しさん垢版2018/07/27(金) 04:21:35.70ID:xspZOSEh
>>723
わからなくて、最終的に書いたのがこれです。

line= int(input())

for i in range(6):

print(line)

line += 1

line = int(input())

print(line)


5と12が入力されます。

5から12まで順番に入力出来たら正解なのですが
そのやり方がわからない。
期待する出力値はあっているのですが、
正しいやり方ではないので間違いになります。
0726遊園地垢版2018/07/27(金) 07:02:25.60ID:NF8BxSPB
x= int(input())
y= int(input())
for i in range(5,13):print(i)

後は自分で考えて
0727デフォルトの名無しさん垢版2018/07/27(金) 07:24:27.12ID:ITzTjkE2
>>706
インスタンス変数が書き換えられた時に例外を起こさないようなフローとか?
0728デフォルトの名無しさん垢版2018/07/27(金) 08:37:47.78ID:PiIiFuVe
質問です
pythonでguiを作りたいのですが、PyQt4やPySideなど選択肢がいくつかあり、
どれを使えばよいのかわかりません。
作りたいguiは、伺かのようなデスクトップアクセサリを想像下さい。
0729デフォルトの名無しさん垢版2018/07/27(金) 09:51:08.08ID:3PyUer9A
こんにちは。
プログラミングを始めたばかりのものです。
ATOMとCV codeというエディタが良さそうということが分かったのですが、どちらが良いのか判断がつきません。
デザインはATOMの方が好みですが、CV codeの方が軽いみたいです。

蛇使いの皆さまはどのエディタを使ってらっしゃるのですか?
0730デフォルトの名無しさん垢版2018/07/27(金) 10:06:17.73ID:ZVlHHhEU
pycharm
0733デフォルトの名無しさん垢版2018/07/27(金) 11:29:35.87ID:f89eR0Ff
色々エディタ試したけどこれまでmatlabでデータ解析しててそこから移行した身としては結局jupyter notebookをブラウザで使うのが一番快適
pycharmでもほぼ同じ形でjupyter使えるけどvimプラグインがブラウザ版の方がまともに動くからブラウザ1択
0734デフォルトの名無しさん垢版2018/07/27(金) 12:13:00.47ID:gABmQ8HW
>>722
while文の練習だから
whileからinputA != inputBで抜け出すか条件を満たしたらbreakするようにするんじゃね?
0735デフォルトの名無しさん垢版2018/07/27(金) 12:17:56.83ID:3PyUer9A
>>732
>拡張機能のcode runne
vs codeでは統合ターミナルからプログラムを実行する機能が最初から付いているみたいですが、これではダメなんでしょうか?
0737デフォルトの名無しさん垢版2018/07/27(金) 12:56:29.16ID:3PyUer9A
>>736
そうなんですか!それは便利そうですね。
ATOMにもエディタ上でコードを実行する拡張機能はありますが、範囲選択出来るものは無いんでしょうね。
そう考えると、そこはvs codeの強みですね。
0740デフォルトの名無しさん垢版2018/07/27(金) 18:04:05.01ID:2tx+XqDJ
>>729
メインはjupyter。サクッと可視化や計算するのに向いてる。
ある程度処理が定型化してきたり、複雑な処理が必要なときはspyder使ってる。格納してる変数が見やすい。
0741デフォルトの名無しさん垢版2018/07/27(金) 19:09:47.23ID:h33KZnwb
>>728
wxPython
0742デフォルトの名無しさん垢版2018/07/27(金) 20:24:06.17ID:qxJNotC2
>>737
強みもクソもAtomがVSCodeに勝っている点など無い
開発元のGitHubもMSに買収されたから、そのうちアップデートでいつのまにかAtomを使っていたつもりがVSCodeになってるかもね
0743デフォルトの名無しさん垢版2018/07/27(金) 23:54:43.74ID:2cdor2Ki
>>728
私見だけど御三家はtkinter wxPython PyQtかな。
意外とwysiwygなGUIデザイナが少なくて、私は最終的にPyQtに落ち着きました。

tkinterはウィジェットが野暮ったいとよく言われてますが、なにせ標準ライブラリなので
クロスプラットフォームでやり取りしやすいのがメリットですね。GUIデザイナはPAGEと
SpecTcl のGUIビルダーを使ってました。

PyQtはQtDesignerがスグレモノなのとウィジェットでかっこいいのがあるのがメリット。

wxはネットや本で解説が多いのがメリットでしょうか?GUIデザイナはwxGladeを使ってました。


他にもpyGTKとか pyFLTKがありますが、ややマイナーですね。

とりあえず迷ったらtkinterが無難じゃないでしょうか?
いずれのguiツールキットも多少の文法に差はあれど、ウィジェットの配置、
ウィジェットのイベント発生と処理ルーチンの関連付けなど似通ったところも
多いので、どれから始めても損はないと思います。
0744デフォルトの名無しさん垢版2018/07/27(金) 23:57:29.47ID:2cdor2Ki
連投ですみません。
PyQtをお考えならPyQt4よりもPyQt5の方が良いと思います。
本家QtがもうQt5に移行してますんで....。Python2ベースでもPyQt5行けたと記憶してます。
0746デフォルトの名無しさん垢版2018/07/28(土) 00:05:13.55ID:S3Ok9Ccf
>>745
欲しいならあげるけど、pyserial併用してPICマイコンでA/D変換したり、パルス周波数カウントしたり
のデータロガーとグラフ化とかのソフトだよ(個人利用)。
捨てメアド晒してくれたらあげるよ。
0750デフォルトの名無しさん垢版2018/07/28(土) 13:32:54.33ID:39ICzHjE
wxPythonのGUIエディタはXRCedで造って
xmlからインポート生成がおすすめ
0751デフォルトの名無しさん垢版2018/07/28(土) 15:52:03.70ID:S3Ok9Ccf
>>748
当たり。
車のクランク角センサー信号の解析とリアO2センサーの解析を知人に頼まれました。
ちょこっとしたツール作るのにはPython最強だと信じてます。

ところで、今まで個人使用だったから気にせんかったけど、
「ソース公開を要求する」ってPythonだと欲しい人にpythonファイル配布=ソース公開でいいと思ってましたが、GPL要件に抵触するの?
0752デフォルトの名無しさん垢版2018/07/28(土) 15:58:03.13ID:39ICzHjE
欲しい人に提供出来るなら問題ない
0756デフォルトの名無しさん垢版2018/07/28(土) 22:52:27.27ID:1ehD8zO6
至急、大至急
いきり立ったボクのパイソンを鎮めるコードを教えてください
0757522垢版2018/07/28(土) 23:39:32.01ID:iz8qBEa3
>>756
パイを見ながら白いものが発射されるまでソンを繰り返し擦る…これをコードにする。
0758デフォルトの名無しさん垢版2018/07/29(日) 00:18:45.86ID:nycWyOY/
>>751
745じゃないけど、本当にソース見せてくれるなら結構興味ある内容だから見てみたいな
0759デフォルトの名無しさん垢版2018/07/29(日) 10:11:50.18ID:lnZnONJF
>>758
ありがとうございます。でも、そんなたいしたもんじゃないっす。
自分の場合、シリアル通信のスケルトンを作ってあるので、それを実験のたびにいじって
使ってるだけっす。自分使用だけですので通信の設定とかなり省略してます。
PICやArduinoにAD変換やらタイマー割り込みやらやらせて、制御と結果をシリアルでやりとりしてます。
世間様から見たら拙いレベルでしょうが、最近は3chのAD変換を毎秒数回やらせて、matplotlibを
Qtに貼り付けて半リアルタイムで折れ線グラフ描画させました。
pythonでも1秒に10回程度のシリアル通信→matplotlibグラフ描画だと遅延なく行けますね。
ちなみに使用マシンはHPのstream11だったのでかなり非力なはず。
0761デフォルトの名無しさん垢版2018/07/29(日) 21:17:56.21ID:Za8iLCLk
PLCのデバイスのデータを取得、可視化したいと思うのですが例を見つけられず使うべきモジュールなども分からないのですが、pythonでもPLCとの通信は可能なのでしょうか?
0762デフォルトの名無しさん垢版2018/07/29(日) 21:36:24.31ID:QqHz9FOF
>>761
MODBUSなら普通に可能
ライブラリは探せば転がってるだろうし、仕様書読んで自分で実装するのも難しくない
それ以外のプロトコルなら諦めたほうがいい
0763デフォルトの名無しさん垢版2018/07/29(日) 22:30:35.84ID:5OCixPMz
str = "707974686F6E"
という文字列をそのままバイナリとして扱って
ファイルに書き出したいのですがどうすればできますか?
ご指導よろしくお願いします。
0764デフォルトの名無しさん垢版2018/07/29(日) 23:24:55.28ID:Za8iLCLk
>>762
ありがとうございます
三菱のプロトコルしか知りませんでした
今回通信を考えているのも三菱なのでMODBUSが使えるか調べてみます
0766デフォルトの名無しさん垢版2018/07/31(火) 20:18:58.02ID:YQbm6dCb
>>759
リアルタイム用途で見た目を気にしないならmatplotlib使うよりpyqtgraph 使う方がいいよ
なんといっても軽い
Matplotlibが律速する場合もあるし、見た目が気になるなら、pyqtgraph 自身をチューンすることもできる
0767デフォルトの名無しさん垢版2018/07/31(火) 20:43:00.87ID:Aajb8fUV
Pythonで、スクリプトが書かれている、このファイル名を取得する方法ってありますか?

__file__だと、実行中のスクリプト、すなわち、あるファイルをインポートしたファイルのファイル名が取得されます
0768デフォルトの名無しさん垢版2018/07/31(火) 23:46:26.55ID:PrQlt9wc
__module__
0769デフォルトの名無しさん垢版2018/08/01(水) 04:21:38.02ID:VsPvQvPO
どうもきょうの夜中までウィルブレインズで半額セール
4,500円でpycharmがてにはいるみたい
でも一年目だけらしい
来年からは通常の値段みたい
買おうか迷うー
なんか勉強がはかどるきがするんだよね

期間限定割引 50% OFF 半額セール (7/30 23:00 〜 8/1 23:59)
https://www.willbrains.jp/page/6
0770デフォルトの名無しさん垢版2018/08/01(水) 04:29:14.56ID:VsPvQvPO
いまTwitterみてたらこの割引のpychamを一年目と二年目と同時に2つ半額で買えるらしい
これはますます迷うよね
0771デフォルトの名無しさん垢版2018/08/01(水) 04:32:11.78ID:uYla8EJq
>>768
ありがとうございます。しかし、うまくいかなかったです。

inspect.getfile(モジュール名)

これでうまくいきました。

プロジェクトにログ用のフォルダを作り、どの階層のモジュールからも、そのフォルダにログをはかせるようなロガーを作りたかったための質問でした。
0772デフォルトの名無しさん垢版2018/08/01(水) 04:46:17.07ID:uYla8EJq
>>771
inspect.getfile(クラス名orメソッド名)

でした
0773デフォルトの名無しさん垢版2018/08/01(水) 15:26:23.05ID:CSdNK3YN
>>769
あのpycharmが4500円で?!これは買わないわけにはいけないですね
さっそくポチりました!!
0775デフォルトの名無しさん垢版2018/08/01(水) 15:38:45.57ID:bGonmpIn
PyCharm購入しちゃいました。
個人は1年のみと書かれていましたが、どうやると2年分購入できるのですか?
0776デフォルトの名無しさん垢版2018/08/01(水) 15:54:16.40ID:psA1VA0Q
pycharmってただじゃね?
0777デフォルトの名無しさん垢版2018/08/01(水) 16:30:32.50ID:bGonmpIn
Communication Editionは無料だけど、
ちょっとだけ便利な機能を使える
Professional Edirionが有料。
0781デフォルトの名無しさん垢版2018/08/01(水) 21:52:06.36ID:QBK7Rh0q
買うならIntelliJ一年にしとけよ
プラグイン入れたらPythonも使えるし、他の言語使いたくなってもVSCodeに移行しなくていいし、どうせ一年経てばVSCodeに抜かれてるだろうし
0783デフォルトの名無しさん垢版2018/08/02(木) 21:31:33.99ID:F/h3S70F
VS code使ってるけどpycharmってそんなに便利なんか?
0785デフォルトの名無しさん垢版2018/08/02(木) 21:59:40.90ID:s7qeWpa7
pycharmはVisual Studioに近いレベルでつかえる
0786デフォルトの名無しさん垢版2018/08/03(金) 15:43:38.07ID:cQZg0MWn
PyChaemPEはSSH経由でリモートデバッグできるのが何気に便利。
ターゲットがRasPiでも使えると思う。
0788デフォルトの名無しさん垢版2018/08/03(金) 17:33:15.11ID:MlCTVi/l
Mac使ってる人
python用のオススメエディタ教えてください
0791デフォルトの名無しさん垢版2018/08/03(金) 19:27:18.31ID:FK7m8NQ8
pythonで機械学習始めようと思うんですけどぶっちゃけ数学とか全く分からなくてもいけますか?
0793デフォルトの名無しさん垢版2018/08/03(金) 19:41:58.84ID:9DvMxICn
>>791
すげー簡単な教師あり画像認識振り分けぐらいだったらできなくはないけど
その認識の精度を上げたりしようとすると必要になってくる
0794デフォルトの名無しさん垢版2018/08/03(金) 19:42:21.26ID:1Ao96BNz
機械学習のアルゴリズムは分かんなくてもいいけど、結果にどれだけ意味があるのかが定量的にわかるくらいの数学力(統計力)は最低限必要
でないとただの占いになる
0795デフォルトの名無しさん垢版2018/08/03(金) 20:41:58.87ID:FK7m8NQ8
>>793-794
なんかそこら辺勉強するのにオススメの本とかありますか?
0797デフォルトの名無しさん垢版2018/08/03(金) 21:05:16.41ID:Txx/i7Bv
>>796
その本にもいろいろ数学出てくるんだろ?
数学なしで機械学習を学ぶプログラマ向けの本あるのかって気がするが
0799デフォルトの名無しさん垢版2018/08/04(土) 00:19:01.72ID:/7pVZjiM
>>788
GVim
0802デフォルトの名無しさん垢版2018/08/04(土) 09:13:19.86ID:1+u56sxf
>>788
ATOMとかSublime TextはMac版もある
ただATOMはMac版だとちょっと問題あったような
日本語打つと変換候補が必ず左上に来て文字が見えなくなるんだったかな
うろ覚えだけど
0803デフォルトの名無しさん垢版2018/08/04(土) 09:14:08.94ID:tShEbtuk
数学の勉強まで始めたら本筋の機械学習に辿り着くのが何年先になるか
0804デフォルトの名無しさん垢版2018/08/04(土) 09:20:08.66ID:LcV/uUAN
馬鹿には無理
0805デフォルトの名無しさん垢版2018/08/04(土) 09:55:07.24ID:b3FMlOEa
バックグラウンドもなく機械学習を始めても、チュートリアルをなぞって終わり、それ以上の発展はしない
0806デフォルトの名無しさん垢版2018/08/04(土) 10:39:11.51ID:chMXe41X
そういうのは機械学習に限らないんだよな
姿勢の問題
0809デフォルトの名無しさん垢版2018/08/04(土) 11:13:53.74ID:XWbY/qAH
高校数学はインデックスほとんど使わないし幾何問題が中心だから、計算テクニックとしての線形代数を学ぶには適さない
大学講義向けの線形代数の入門書がいいよ
0812デフォルトの名無しさん垢版2018/08/04(土) 15:52:25.88ID:cFbYytnp
日本では中学生レベルが機械学習を普通にしている感じだろ
日本の職業プログラマにはドカタという中学生レベルの連中が多いし
エンジニアならそれなりの大学の理工卒で線形代数あたりはちゃんと勉強しているんだろうが
0813デフォルトの名無しさん垢版2018/08/04(土) 16:06:22.90ID:lP4A+t0N
機械学習ライブラリを決められた手順で利用して結果を出力するのと機械学習を理解することは違う
前者はマニュアルさえ用意してやれば一通りのPC操作できる人なら可能だが後者はある程度の基礎学力が必要
で、利用するだけで理解ができていない人はマニュアルで対応できない場合は諦めるしかない
0814デフォルトの名無しさん垢版2018/08/04(土) 18:46:04.33ID:LcV/uUAN
そんな当たり前のこと力説せんでも
0816デフォルトの名無しさん垢版2018/08/05(日) 08:42:27.93ID:7Zu2UONW
中学の比例反比例あたりからわからないんだけど、いきなり線形代数の本読んで解けるかな?
0817デフォルトの名無しさん垢版2018/08/05(日) 09:09:27.70ID:RknsX4qY
数学なんて学者以外は学ぶ必要はない
分数の計算すらできない俺が、プログラマで飯を食っているんだから
0818デフォルトの名無しさん垢版2018/08/05(日) 09:11:59.30ID:czdjGuUP
>>817
業務系システムとかなら要らなさそうだけど、
ゲームとかシミュレーションとかなら要るだろ?
0819デフォルトの名無しさん垢版2018/08/05(日) 09:20:20.70ID:EOv28+ID
自分を根拠に物を語るのは単なる生存者バイアスだけどそんなことも分からない低学歴なのか(汗
0824デフォルトの名無しさん垢版2018/08/05(日) 10:46:09.22ID:kJ9f4EUa
というかそこまでして避ける理由も分からない
出てきたら勉強しよって面持ちで良いのでは
0826デフォルトの名無しさん垢版2018/08/05(日) 10:48:37.67ID:czdjGuUP
ってか個人開発で機械学習とか何に使うの?
0827デフォルトの名無しさん垢版2018/08/05(日) 11:09:36.90ID:952DokO0
>>826
毎週ある声優ラジオを録音して、一月の間の声色の違いで生理周期の判定とか
まあかなりいろいろやりたい
0828デフォルトの名無しさん垢版2018/08/05(日) 11:27:57.18ID:6sr+WFQ9
それ特徴量の抽出さえできたら終わったようなもんで、あとはExcelで十分だな
必要なのはデータサイエンスではなく音響解析の知識
必要な数学は大学の理系教養レベルの解析学ってとこか
0831デフォルトの名無しさん垢版2018/08/05(日) 13:07:36.25ID:/WMYWKBc
>>830
地頭が悪すぎる=>なんか脳に障害がある可能性ある
つまり、普通の人とは違う。他のやつが怖すぎると思ってもしょうがない
0834デフォルトの名無しさん垢版2018/08/05(日) 21:10:30.28ID:nYmMbAnQ
pip install ccxt
すると最後に赤文字でComand "c:user¥〜みたいなの出るんですけど何が原因なんですかね
0836デフォルトの名無しさん垢版2018/08/05(日) 22:21:27.32ID:nYmMbAnQ
赤文字の上にerrorで
Microsoft Visual c++14.0って書いてあったのでググってインストしたら解決しました
お手数かけました
0837デフォルトの名無しさん垢版2018/08/06(月) 00:13:35.14ID:Pgz5BDij
自作ライブラリmylibの中でimport numpy as npとしてた場合にこのmylibをimport mylib as mlとインポートすると
ml.と入力した時点でエディタ(Spyder)の補完機能でnpまで候補に出てくるのどうにかならない?
アンダーバー付けてプライベート扱いにすれば候補には出ないけど面倒臭い
0838デフォルトの名無しさん垢版2018/08/06(月) 11:21:23.33ID:Cwah8GLb
>>827
>>>826
>毎週ある声優ラジオを録音して、一月の間の声色の違いで生理周期の判定とか
>まあかなりいろいろやりたい

ゾッとしたわ
0841デフォルトの名無しさん垢版2018/08/06(月) 12:27:18.94ID:JkqN7Q/F
でももしかしたら>>827のものが実現してスマホだけで周期の予測をしたりできれば意外と女性向けサービスとして使えるかと思う
0842デフォルトの名無しさん垢版2018/08/06(月) 12:36:23.81ID:6FlNGOtW
実際プレステージにデータ分析担当がいたら女優の体型と陰茎膨張率の関係とか調べてるのかな
親に言えないけど仕事としてはクソ面白そう
0846デフォルトの名無しさん垢版2018/08/06(月) 17:06:52.08ID:9QlJsUMm
教師無し学習
0847デフォルトの名無しさん垢版2018/08/06(月) 18:48:32.54ID:t3a0WVzh
クラスタリングで2つに分かれればそれぞれのグループの日数比で予想できるだろうな
0852デフォルトの名無しさん垢版2018/08/07(火) 07:27:47.64ID:FhRyuD9d
複数のWebsocket通信を実現したく、教えてください。

Websocketの通信先として、server1, server2があったとします。
これら2つの通信先に対して、一つのホスト(Client)からWebsocketを張って、それぞれの通信先から送られてくるメッセージに応じて、ホスト(Client)で処理を行うプログラムを検討しております。

単一通信先とのWebsocket処理は期待動作を得られているのですな、マルチスレッドで動作させようとすると、うまく動作してくれません。
そもそも、マルチスレッドがナンセンスなのか、マルチプロセッシングで実装したほうが良いのか等も含め、ご意見やアドバイスを頂戴できますと嬉しいです。
0854デフォルトの名無しさん垢版2018/08/07(火) 10:53:38.59ID:AJOeK/rw
>マルチスレッドがナンセンス

それはない
マルチスレッドでがんがれ
0856852垢版2018/08/07(火) 11:03:46.78ID:JednpFCt
レスありがとうございます。

マスチスレッドでもう少しがんばってみます!
0858デフォルトの名無しさん垢版2018/08/09(木) 11:54:13.72ID:XkmhCSGS
凄いくだらない質問で申し訳ないのですが、
標準入力から小文字だったらTrueを出力するぷろぐらむを書いたときに

*****
msg = input()

if msg.isupper():
print("True")
else:
print("False")
*****

だとうまくいくのですが、
↓だとうまくいかない理由が理解できません。
なぜかFalseになってしまいます。

*****
msg = input()

if msg == msg.isupper():
print("True")
else:
print("False")
*****

理由分かる方どなたか教えてください。。。
0859デフォルトの名無しさん垢版2018/08/09(木) 11:55:48.97ID:XkmhCSGS
>>858
自己レス
インデントが抜けてました。
後標準入力から全て大文字だったらの間違いです。
すみません。
0861デフォルトの名無しさん垢版2018/08/09(木) 12:15:37.33ID:NXkdt6vr
>小文字だったらTrue
0862デフォルトの名無しさん垢版2018/08/09(木) 12:44:42.80ID:sZdUgoUy
>>850
志村けん?
0863デフォルトの名無しさん垢版2018/08/09(木) 13:43:31.81ID:9p/1G7yG
>>860
858です。
戻り値がイコールにならないからFalseになってたんですね。戻り値まで意識してませんでした…

お陰様で謎が解けました。くだらない質問に回答いただきありがとうございました!感謝です。
0865デフォルトの名無しさん垢版2018/08/10(金) 16:11:10.30ID:dwPdF8Hu
>>864
読んだら質問しないだろうが馬鹿かよ
0866デフォルトの名無しさん垢版2018/08/10(金) 17:19:57.11ID:hK8KTh3g
>>865
低脳、ゆとり、基地外、馬鹿がいっぱいのスレだからな
馬鹿が低脳に読んだ上での質問なの?ってやり取りはこのスレでは普通のこと
0868デフォルトの名無しさん垢版2018/08/10(金) 17:31:24.18ID:us6NcR3v
demo,オナニーやsexマニュアル本とか
読まねぇだろ?

そう言う事だよ
0869デフォルトの名無しさん垢版2018/08/10(金) 17:34:03.31ID:eR92XhXO
サッカーの本田選手がプログラミングを勉強しているとの記事を見ました。
勉強に使っている言語はやっぱパイちんくんでしょうか。
みんなのパイちんくん、みんなのものだよ。
0872デフォルトの名無しさん垢版2018/08/10(金) 23:52:49.75ID:C+TRQRnb
みんなMac使ってるのかと思ってたがそうでもないのか
0873デフォルトの名無しさん垢版2018/08/11(土) 00:01:06.20ID:OMTaDWyJ
mac売ってxpsにubuntu入れて使ってるよ
macはproとimac5k持ってたがタッチバーのアホらしさで辞めた
0875デフォルトの名無しさん垢版2018/08/11(土) 06:00:30.89ID:50VGhS2e
一応Mac miniとMacBook Air持ってるけどOSはWindows入れて使ってる
0878遊園地 ◆ExGQrDul2E 垢版2018/08/13(月) 08:05:48.08ID:wDtJ4V0P
スマホ3台*android

ネット用
ユーチューブ
qpython  [MacLab. USB Type C] & TK-FDM078MBK

PC辞めても問題無かった。
0880デフォルトの名無しさん垢版2018/08/13(月) 15:27:40.48ID:Bmq80Bk3
「よく」の基準がよく分かりませんが、一般的に使われていますよ
pythonの標準ライブラリのソースなどを読んでみると分かると思います
0884デフォルトの名無しさん垢版2018/08/13(月) 16:09:51.49ID:EM5FHKXS
言うほどpythonicか?
内包表記はHaskellのそれを猿真似しただけのもので、むしろPythonの中で特にエイリアン感のある機能の一つだろ
断言するが、もしPythonに内包表記が無くて、こういう表記をPythonに取り入れてくれと俺がこのスレで内包表記を提案したら、
間違いなく>>881はそんなのpythonicじゃないと言って俺を叩く
0886デフォルトの名無しさん垢版2018/08/13(月) 16:17:45.32ID:obMX332h
式と文を区別してるpythonでは内包表記が無いと話にならない
0887デフォルトの名無しさん垢版2018/08/13(月) 19:02:48.56ID:CO37JXVI
Python始めて一週間、まだエディタが定まらない
先人達ぱいちゃーむよりオススメありますか??
0889デフォルトの名無しさん垢版2018/08/13(月) 20:31:45.52ID:PFh1twe3
>>884
いや叩かないしw

zen of pythonにもBeautiful is better than ugly.ってかいてあるし
わざわざ空のリストにappendしていくのダルくないかい?
0890デフォルトの名無しさん垢版2018/08/13(月) 20:47:50.72ID:zWTtmQ+y
そういうのは適材適所じゃないのかなぁ。
プログラムの規模にもよるんだろうけど、
可読性を犠牲にしてまで無理に内包表記を使うことはしないかな。
数行に渡ると本当にわかりにくくなることあるし。
0891デフォルトの名無しさん垢版2018/08/13(月) 20:53:04.86ID:1UXzUR0b
高階関数のチェーンも内包表記もどっちもあった方がいいね
それぞれにそれを使った方が自然って場面がある
内包表記があることよりも高階関数のチェーンが無いことの方が片手落ちな感じがして気持ち悪い
0892デフォルトの名無しさん垢版2018/08/13(月) 22:08:44.86ID:/4+xFIUA
内包表記は簡単な条件なら見やすい
俺の場合複雑になるに従って
内包表記→ループ文→内部関数→関数→クラス
って書き換えて行くことが多いかな
0894デフォルトの名無しさん垢版2018/08/13(月) 23:57:07.14ID:Z4Xs8VUg
>>893
特に拘りがないならvscodeが鉄板でしょ
今の勢いならpycharmがvscodeに抜かれるのはもはや時間の問題だぞ
0895デフォルトの名無しさん垢版2018/08/14(火) 01:48:17.74ID:4c27dQq9
pythonでデータを切り出す練習がしたいのですが、なにか良い演習付き解説書や問題集ってありませんか?
0896デフォルトの名無しさん垢版2018/08/14(火) 06:14:59.40ID:FBgVldM1
雑多な情報の中からデータとなる部分を切り出したいのか?
データセットの中から有意な情報・特徴を切り出したいのか?
0897デフォルトの名無しさん垢版2018/08/14(火) 07:06:04.78ID:Lx5Sc8sY
VSじゃなくVSCodeの意味は?
0898デフォルトの名無しさん垢版2018/08/14(火) 07:12:05.18ID:U0KblFiG
>>890
数行で内包表記はやらんだろう。
0901デフォルトの名無しさん垢版2018/08/14(火) 10:09:34.54ID:UwXfpacN
>>890
内包表記で可読性が落ちるとは思わない
0903デフォルトの名無しさん垢版2018/08/14(火) 10:19:48.29ID:NuPuEx9j
>>900
VSCodeって使ったことないけどVSのエディタ部分って訳ではないの?
0904デフォルトの名無しさん垢版2018/08/14(火) 10:36:03.99ID:ZqT1A3CO
Linuxやmacでも動くようにした別設計だよ
キーボードマッピングとかは合わせてるけど
0905デフォルトの名無しさん垢版2018/08/14(火) 11:11:21.19ID:tHOrBirQ
vscodeはざっくり言うと色々拡張できるようにしたエディタにデバッグ機能とかgit連携が標準で付いたもの
0906デフォルトの名無しさん垢版2018/08/14(火) 12:10:59.11ID:6tH5K7xr
>>902
金払ってしまって他へ乗り換えづらいのはわかるけど、もはや全く存在価値のないエディタだよね
およそ全ての面でVSCodeに完敗し、仮に無料にでももう誰も使わん
Sublimeの作者にとってはたまったもんじゃないだろうな
0907デフォルトの名無しさん垢版2018/08/14(火) 12:19:11.71ID:Lx5Sc8sY
>>904
そうなのか
VS無料だったからそっち入れてCodeは使ってなかったわ
0908デフォルトの名無しさん垢版2018/08/14(火) 12:31:02.91ID:hKOoO6Fq
秀丸に金払ったけど満足しておるぞ
0909デフォルトの名無しさん垢版2018/08/14(火) 12:40:24.07ID:6tH5K7xr
秀丸くらい軽くてベーシックなエディタなら、メインが他にあってもちょっとしたメモ帳代わりとしての使い途はあるよね
Sublimeは使い分けるには中途半端だわ
0911遊園地垢版2018/08/14(火) 17:34:54.68ID:fUckjYfu
xed
Geany

なぜ、忘れ去られるのか?
0913デフォルトの名無しさん垢版2018/08/15(水) 00:52:53.49ID:nidP+1BF
農学部卒の初心者ですが全くの初心者から学べるサイト教えてもらえませんか?
0915デフォルトの名無しさん垢版2018/08/15(水) 01:02:59.34ID:nidP+1BF
できれば無料で
0917遊園地垢版2018/08/15(水) 02:13:45.87ID:H63Luids
偶にSublime使ってる
アイツは長文じゃないと役に立たない
0919デフォルトの名無しさん垢版2018/08/15(水) 07:56:21.54ID:+LAc8jW9
>>913
python-izm
0920522垢版2018/08/15(水) 17:44:10.84ID:EAcVsQ5O
>>918
初めてのpython買ってみたんだけど、色々詳しく書いてあり過ぎてやや難し目に感じた…。
VBAはある程度さわれるから、何となくイメージは出来るのだけれども。
0921デフォルトの名無しさん垢版2018/08/15(水) 18:14:41.57ID:7DSwjy9L
複数のHTTPリクエストを並行して行う方法を教えてください。(できれば標準ライブラリのみで)
Python 3.6.5

<やりたいこと>
某サイトから動画をダウンロードするスクリプトを書いています。
「動画をダウンロード中は、一定間隔で特定URLにリクエストを発行(ハートビート)しないと、動画ストリームがサーバー側から閉じられてしまう」
というサイト仕様のため、下記の2処理を並行して実行したいです。

・処理1:動画をダウンロードしてファイルに書き込む
・処理2:1分おきに特定のURLにリクエストを発行する(ハートビート)

<やってみたこと>
標準ライブラリのasyncioとurllib.request.urlopenを使って非同期処理。
→動画のダウンロード(処理1)が完了してからハートビート(処理2)が実行される、という結果になり、期待したとおりにならず。

async def exec_download():
 await self._downlaod()
async def downlaod():
# 動画をダウンロード(時間がかかる)
 res = urlopen('http://www.unko.com/video.mp4')
 shutil.copyfileobj(res, fout)
async def heartbeat():
# 1分おきにハートビート
 await asyncio.sleep(60)
 res = urlopen('http://www.unko.com/heartbeat')
 await heartbeat()

loop = asyncio.get_event_loop()
coroutines = [heartbeat(), exec_download()]
loop.run_until_complete(asyncio.wait(coroutines))

以上、よろしくお願いします。
0923デフォルトの名無しさん垢版2018/08/15(水) 18:21:32.73ID:bkK5nIf1
>>921
そんなもん全く別個にやればいいだろ
一般に、スクリプトをうまく使うコツは、一つのもので色々なことをやろうとしないこと
まあその発想でいくとPythonすら要らないけどな
curlとシェルスクリプトで十分
0924デフォルトの名無しさん垢版2018/08/15(水) 18:51:36.06ID:uSjYsFnm
VScodeインストールしたのに、何か動かねえ!
右上のウィンドウで命令(print w)書いても、うんともすんとも
オール電化の康一を思い出したわ 吉良戦の時のさー
0926遊園地 ◆ExGQrDul2E 垢版2018/08/15(水) 19:46:50.11ID:H63Luids
VScodeでpythonデバッグしようとすると

Java runtime could not be located
The .NET CLI tools cannot be located. .NET Core debugging will not be enabled. Make sure .NET CLI tools are installed and are on the path.
Javaランタイムを見つけることができませんでした
.NET CLIツールを見つけることができません。 .NETコアのデバッグは有効になりません。 .NET CLIツールがインストールされ、パス上にあることを確認します。
諦めた
0927遊園地垢版2018/08/15(水) 19:50:02.83ID:H63Luids
デバッグなしで起動すると動くけど、
それなら、他のと変わらないなーー

ぐらい
0928デフォルトの名無しさん垢版2018/08/15(水) 19:50:03.49ID:Y7oow45s
>>920
プログラムの本とか買ったことないな。
ネットの方が情報あるし。
コードをとにかく色々書いてみて動作させながら言語の特徴やクセを掴んでいったほうが習得は早いと思うよ。

むしろ本はある程度書けるようになってから、もっと楽に書ける方法があったのかっていう意味で気づくためにみてる、立ち読みでだけど。
0929デフォルトの名無しさん垢版2018/08/15(水) 19:53:42.96ID:x0iBTGoo
既存のGUIウインドウ上にテキストを表示したいのですが何かいい方法ありますでしょうか
0932デフォルトの名無しさん垢版2018/08/15(水) 21:57:28.79ID:+OObTSrG
>>931
人による
俺は逆に最初は本読みながら作って、ある程度慣れたら疑問点をネットで調べてる
0933デフォルトの名無しさん垢版2018/08/15(水) 22:11:34.29ID:yyAkWswg
>>918>>920
この本は入門書じゃないぞ
0934デフォルトの名無しさん垢版2018/08/15(水) 22:12:05.88ID:e3I8nXvG
>>928
これはプログラミング自体の初心者は真似したらアカンよ

こういうこと言うのは高確率で他言語経験者だから
0935デフォルトの名無しさん垢版2018/08/15(水) 23:22:27.80ID:EAcVsQ5O
>>932
>>933
>>934

VBAはまぁまぁ使いこなせるんだけど、入門Pythonの本は難しくて…。

・確かな力が身に付くPython「超」入門
・はじめての簡単PythonAIプログラミング

この2冊を買って勉強中。
ExcelVBAと上手くリンクしながら動いてくれればこの上ないのだけれども…。

(上司からは「アプリ開発できるようなってください」と言われてるが、まだまだ先の話になりそう)
0936デフォルトの名無しさん垢版2018/08/15(水) 23:57:27.18ID:q5gHkF1g
>>918
なんで、蛇じゃなくてネズミなんだろう
0939デフォルトの名無しさん垢版2018/08/16(木) 00:27:09.51ID:tQF1Ua+o
俺、初めてのPythonめちゃ助けられた
というのも初プログラミング=Pythonだったから
コード真似て、こう動くんだというのはわかっても
用語とか解説がチンプンカンプンな事が多くて辞書的に使ってた
確かにクドイね。でも今なら他にいい本出てそうじゃん
0940デフォルトの名無しさん垢版2018/08/16(木) 01:11:31.91ID:57YYyuh5
型宣言とか戻り値の型とか書かないのすごく気持ち悪いね

まあ慣れるんだろうけど
0943デフォルトの名無しさん垢版2018/08/16(木) 04:34:22.30ID:103J48LD
変数の中に数字が入っています。
具体的にどんな値が入っているか自分では分からない状態で、もしその値がマイナスの値だった場合、
その変数の値を他の値(例えば60)に変更するにはどう書いたらいいんでしょうか?
0944デフォルトの名無しさん垢版2018/08/16(木) 04:42:47.23ID:103J48LD
>>943
追記です
sleep関数を使って整数内のint(秒)間スリープさせてループです動かすスクリプトなんですが、たまに整数内の数字がマイナスになってしまった場合にエラーで止まってしまうので、それを防ぎたいと思いました
0947デフォルトの名無しさん垢版2018/08/16(木) 10:01:01.41ID:LoNM+spa
>>936
蛇の食料
0948デフォルトの名無しさん垢版2018/08/16(木) 11:12:16.71ID:wiNukf+g
>>925
+1
0950デフォルトの名無しさん垢版2018/08/16(木) 14:24:14.31ID:AFSiOhT6
今paizaラーニングのチャプター2 #3
やってるんだがアホすぎて不等号の意味が全くわからん
0952デフォルトの名無しさん垢版2018/08/16(木) 15:51:55.16ID:z5KyUW64
特定の文字列をUTCの時間だと指定してUnix時間に変換する方法を教えて欲しいです。
current_dataのStartTimeには2018-08-16T06:05:37と書かれてあります。
https://pastebin.com/K9qEC75T

これだと9時間ずれてしまいます。
0953デフォルトの名無しさん垢版2018/08/16(木) 16:00:32.85ID:wiNukf+g
strptime
mktime
0954デフォルトの名無しさん垢版2018/08/16(木) 16:06:07.11ID:wiNukf+g
pytz
0958デフォルトの名無しさん垢版2018/08/16(木) 18:32:07.07ID:z5KyUW64
これでできました

baseStartTime = '2018-08-16T08:02:45+0000'
baseTimeFormat = '%Y-%m-%dT%H:%M:%S%z'
utc = datetime.strptime(baseStartTime, baseTimeFormat)
unix = utc.timestamp()

>>956
調べてみます
0959デフォルトの名無しさん垢版2018/08/16(木) 21:32:10.60ID:VSd23G4R
https://ideone.com/rGkQxM

pythonはCバインディングの関数よんでるだけだからな
調べてやったぞ

baseStartTimeがUTCならNo1.でいける

 setenv("TZ", "UTC", 1); ← コレで切り替える
 strptime(sz_time, sz_fmt, &t_tm);
 return mktime(&t_tm);

baseStartTimeがJST(UTC+09:00)ならNo2.でいける

 setenv("TZ", "Asia/Tokyo", 1); ← コレで切り替える
 strptime(sz_time, sz_fmt, &t_tm);
 return mktime(&t_tm);
0961デフォルトの名無しさん垢版2018/08/16(木) 22:28:06.44ID:VSd23G4R
そう

しかしコタエとしては
オマエが作ったプログラムを起動する前に
適切な環境変数設定すれば
期待通りの結果になると考えられる

起動するまえにシェルで
TZ="UTC"
※ baseStartTimeがUTCの場合
もしくは
TZ="Asia/Tokyo"
※ baseStartTimeがJSTの場合

とすればいいハズ
0962デフォルトの名無しさん垢版2018/08/17(金) 11:42:19.78ID:23Jvz4gX
GAEとか変なTZの鯖もある
0963デフォルトの名無しさん垢版2018/08/17(金) 13:46:36.32ID:GPgJleJz
csvに入力してある内容からランダムで5W1Hゲームの答えを表示するコードをお願いします
0965デフォルトの名無しさん垢版2018/08/17(金) 14:32:50.18ID:GPgJleJz
宿題ではないです
作り方がわからないので教えてください
0966デフォルトの名無しさん垢版2018/08/17(金) 15:22:13.09ID:ZZpHYasb
matplotlibで散布図を作りたいのですがプロットする点は点ではなく外部ファイルの画像データを使いたいです
これは可能でしょうか?
0968デフォルトの名無しさん垢版2018/08/18(土) 01:01:12.82ID:K3y6E3T8
>>963-965
Ruby では、こういう感じ。
Python のCSV module も見れば?

# コロン区切りのCSV 入力ファイルを、1行ずつ処理する
input_file = "input.csv"

CSV.foreach(input_file, col_sep: ":") do |row|
puts row[1] # 列[1]
end
0970デフォルトの名無しさん垢版2018/08/21(火) 18:18:57.90ID:4zizh11G
秒を時:分:秒に変換したいです。
その時、時が00なら分:秒だけにしたいです。
以下のように書いたんですが、ifが動いてくれないです。
どう改善したらよいですか?

duration = "{0.hours:02}:{0.minutes:02}:{0.seconds:02}".format(relativedelta(seconds=baseDuration)) # 曲の長さ (時:分:秒に変換)
if str(duration)[0:1] == '00':
duration = str(duration[3:7])
0971デフォルトの名無しさん垢版2018/08/21(火) 18:25:48.79ID:4zizh11G
>>970
自己レス

if str(duration)[0:2] == '00':
duration = str(duration[3:8])

これで動いてくれました。
最初の二文字の指定だから[0:1]、[3:7]だと思うんですが、なぜ[0:2]、[3:8]としないといけないんですか?
0974デフォルトの名無しさん垢版2018/08/21(火) 19:13:14.34ID:4zizh11G
データをcsvファイルに保存したいです。
コンマ区切りだと、保存しようとしている項目の中にコンマが含まれているとおかしくなってしまうので、
"value1","value2","value3"
って感じで「"」で囲む事にしました。

csvFile = open(fileName, mode='a', encoding='utf-8')
print(f'"{unixStartTime}","{startTime}","{song}","{artist}","{album}","{releaseDate}","{identifier}","{itunesTrackId}"', file=csvFile)
csvFile.close()

しかし、項目の中に「"」が含まれていると、それもまたおかしくなってしまいました。
一般的に、どう書くんでしょうか?
0975デフォルトの名無しさん垢版2018/08/21(火) 19:20:59.43ID:JvEAafEP
>>973
C言語とかの経験があれば
for(i = 0; i < 2; i++){ printf("%d\n", i); }
で、0, 1 しか表示されないからすんなり理解できるんだけど…
0977デフォルトの名無しさん垢版2018/08/21(火) 20:28:45.21ID:9TRNijf4
>>971
スライスの添字は要素と要素の「間」を示していると考えればいい

https://docs.python.jp/3/tutorial/introduction.html
> スライスの使い方をおぼえる良い方法は、インデックスが文字と文字の あいだ (between) を指しており、最初の文字の左端が 0 になっていると考えることです。そうすると、 n 文字からなる文字列中の最後の文字の右端はインデックス n となります。例えばこうです:

リンク先にASCII図があるのでそれも見て
0978デフォルトの名無しさん垢版2018/08/21(火) 20:50:48.17ID:4zizh11G
>>975
よく分からないです

>>977
なるほど!
今までpythonでは0から始まるので、1文字目は0、3文字目は2と理解していたので、>>970-971 の疑問が湧いたんですが、要素と要素の間と考えれば上手く理解出来ました
0979デフォルトの名無しさん垢版2018/08/22(水) 00:34:33.92ID:h82tfzI1
Ruby の範囲演算子(Range)では、

(3..5) # 3, 4, 5
(3...5) # 3, 4

.. は終端を含む。
... は終端を含まない
0980デフォルトの名無しさん垢版2018/08/22(水) 01:21:48.37ID:h82tfzI1
>>974
Ruby では、
1. :col_sep フィールドの区切り文字
2. :row_sep 行区切り文字
3. :quote_char フィールドをクオートする文字

1は、カンマかタブ
2は、\r\n か\n
3は、\(バックスラッシュ)

たぶん、"a\"b"
0984デフォルトの名無しさん垢版2018/08/22(水) 07:47:10.46ID:POyIOdJh
言語によってスライス系の関数やメソッドの引数もバラバラだからなあ

slice(from, to)

to を含んだり to - 1 だったり

slice(from, length) だったり

覚えきれないからマニュアル見ながらやってるよ
0986デフォルトの名無しさん垢版2018/08/22(水) 16:31:49.60ID:Q4k/bgn4
>>983
最初だけな
インデントとかもそう
食わず嫌いが多すぎ
外見に惑わされず
がっつり身を取れ
0987デフォルトの名無しさん垢版2018/08/22(水) 19:42:27.90ID:jIQXHl+4
身を取れってどこの方言?
0990デフォルトの名無しさん垢版2018/08/23(木) 08:12:34.88ID:UTWNvtw2
file “<stdin>”, line1, in<module>
NameError: name ‘ファイル名やら’ is not defined


というエラーが出てしまいます。
この前まで使えてました。
何が原因かわかりますか?

>>>a=5
>>>a
5

などはできます。
.pyが動きません。
0992デフォルトの名無しさん垢版2018/08/23(木) 16:53:21.50ID:XM3jnZax
ネットラジオで現在放送されている曲情報を取得して表示するスクリプトを考えてます。

https://pastebin.com/uTd6r2ex

放送局側のJSONには現在の曲情報と次回のJSONの更新時間(だいたい数秒〜数十秒後)がかかれてあります。
次の曲が始まる時間が書いてあればいいんですが書かれてないので、現在の時間と次回のJSONの更新時間の差分秒でループさせて次回のJSONを取得する事にしました。
(放送局のサイトにあるWebプレイヤーのjavascriptでは20秒間隔で取得しているようでした)
放送されている曲がそのままなら更新後のJSONの中の曲情報ももちろんそのままで、次回の更新時間のみ変更されています。

曲が変わっていないのに、ループの時間が来たらその度に出力されるので、その処理は無駄だと思いました。

JSONが更新されても曲がそのままなら変わらない情報(例えば曲名など)をキャッシュとしてオンメモリのSQLiteに保存して、そこが変わってなければ出力しないようにすればいいんじゃないかと思ったんですが、他にいい方法がありますか?
教えてください。

現在のJSONの特定の項目をSQLに保存させて、PythonからSQLのそのレコードを取得する方法までは分かりました。
SQLには現在のJSONとひとつ前のJSONを記録させて、Pythonからはひとつ前のJSONのレコードを呼び出す方法も知りたいです。
0993デフォルトの名無しさん垢版2018/08/23(木) 17:04:52.52ID:+UveuQfQ
曲の類似度で機械学習させて判定結果表示するのかと思った
0994デフォルトの名無しさん垢版2018/08/23(木) 17:08:21.97ID:6XYPzAmV
memcached
0996デフォルトの名無しさん垢版2018/08/23(木) 17:20:11.29ID:XM3jnZax
>>994
どうもありがとうございます。
ググってみました。
怖そうな記事や古い記事ばかり引っかかります。
一般的にそれを使うのがいいんでしょうか?
0999デフォルトの名無しさん垢版2018/08/23(木) 20:03:14.58ID:1ATD5kR7
男は失敗した分だけ性交に近づくんや諦めんな
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 98日 8時間 59分 48秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況