X



くだすれPython(超初心者用) その38
レス数が1000を超えています。これ以上書き込みはできません。
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)
----------
0316デフォルトの名無しさん
垢版 |
2018/06/24(日) 18:44:52.85ID:L9YI7tib
>>315
文系なら英語できる?
codecademyとかやってみたら、
わからん単語調べながら
環境構築も要らんし
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には無いとしか答えられん
0333デフォルトの名無しさん
垢版 |
2018/06/25(月) 11:59:32.82ID:fSERGsnu
>>332
アドバイス通りクラスとか配列とかいい感じにすればできそうです
ありがとうございました
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を「サイフォン」と読んでしまう病気にかかっているのですが、治す方法はないでしょうか、、、
0343デフォルトの名無しさん
垢版 |
2018/06/25(月) 21:07:26.23ID:loJfcRLV
>>342
URLErrorはHTTPErrorの基底クラスなのでexcept句を並記しても分離できませんよという親切なご忠告。
0344デフォルトの名無しさん
垢版 |
2018/06/25(月) 21:08:24.10ID:IGovl2eG
>>342
自己レス

12〜14と15〜17の順番を逆にしなきゃいけないんでしょうか?
順番的にURLErrorの方が植えだと思うんですがどうですか?
0345デフォルトの名無しさん
垢版 |
2018/06/25(月) 21:09:22.83ID:loJfcRLV
URLErrorとHTTPErrorのexcept句の記述順序を逆にすると多分文句いわれなくなると思う。
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で使ってるインタプリタが違うからモジュールをインポートできないんだよ
パイチャーム難しいならスパイダーとか簡単なんじゃないか?使ったことないが
0365デフォルトの名無しさん
垢版 |
2018/06/26(火) 15:15:11.62ID:Pch/7s9D
vscodeでもええで、pyCharmほどしっかりはしてないが、勉強目的なら十分いける
0367デフォルトの名無しさん
垢版 |
2018/06/26(火) 15:22:12.30ID:1/94qv1z
それは逆
プロダクションならPythonだけで完結するケースは稀だからVSCodeになる
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に自分で書き込むんじゃなくて、自動更新なのでスクリプトの中で実現させたかったです。
0408401
垢版 |
2018/06/30(土) 00:22:53.38ID:i9q8wfr8
>>406
>>402 へのレスです
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 から時間を教えてもらえば、できる
0413401
垢版 |
2018/06/30(土) 01:10:16.93ID:i9q8wfr8
>>412
詳しく知りたいです。
https://ideone.com/FEcZrG

NGワードだと言われたのでそこにレス内容を書きました。
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だとできるので環境の問題だと思うのですが
自分には見当がつきません
0421デフォルトの名無しさん
垢版 |
2018/06/30(土) 11:32:40.83ID:BB0BPsjY
>>414
pythonでのやり方知らない/書けないなら黙っててくんない?情報量ゼロのゴミノイズだから。
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ヶ月くらいかけてたからね
来年春頃にチャレンジしてくれたまえ
0439デフォルトの名無しさん
垢版 |
2018/07/01(日) 09:45:24.69ID:HXukxj3q
>>435
『PyInstaller works with Python 2.7 and 3.3—3.6』

↑オフィシャルウェブサイトのトップページに書いてる
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
0444デフォルトの名無しさん
垢版 |
2018/07/01(日) 13:43:41.63ID:blR+9qab
>>435
解決しました
Pythonを3.6.5にしてsetuptoolsをダウングレードしました
ありがとうございました
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
ありがとうございます!
0465デフォルトの名無しさん
垢版 |
2018/07/03(火) 15:28:12.44ID:RGWVubcd
>>463
へぇ、そうなんだ。知らなかった。

それにしてもrubyを愛してるんだな、お前.....スカトロ?
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向けじゃないなぁと...。
専ブラなら大丈夫なんすか?
0502デフォルトの名無しさん
垢版 |
2018/07/07(土) 10:00:59.73ID:pa4NPo43
コードが崩れるからideoneとか投稿して貼れと>>1に書いてあったと思ったが
誰か消したのか
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にだってなれるぞ
0527遊園地 ◆ExGQrDul2E
垢版 |
2018/07/09(月) 10:49:26.70ID:H6u5Fx+k
うんこ漏らしながら、、答えると

  PDFMiner.six

使え。
0529522
垢版 |
2018/07/09(月) 12:44:00.66ID:pU5gW32k
皆さん、回答ありがとうございます。
もう少し自分の方で調べてから、再度質問させて頂きます。
0530デフォルトの名無しさん
垢版 |
2018/07/09(月) 16:14:02.89ID:OMEWQnbN
これヤバシング
https://goo.gl/uAcy7u
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あたりに一元化すれば良かったのに
0538デフォルトの名無しさん
垢版 |
2018/07/14(土) 15:06:03.89ID:xrW9R8Gf
複雑だが頻繁に使うなら自分専用にラップしただけのライブラリでも作ればいい
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)
0579デフォルトの名無しさん
垢版 |
2018/07/15(日) 18:03:01.01ID:raVPXb0K
>>578
じゃあ書き込むなよ。
沸点低すぎだわ。面倒くせ

>>576
読んで字の如くコンパイルされるので高速化が期待できる。
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/; ですね。
0593デフォルトの名無しさん
垢版 |
2018/07/15(日) 23:39:12.09ID:cDGgo13V
r1もr2もいっしょ。
r2は内部でr1と同じ事やってメソッド呼んでるだけ。
ソース見たら一目瞭然。
https://github.com/python/cpython/blob/master/Lib/re.py

jsはリテラルの場合はプログラムロード時にコンパイルされて、
コンストラクタ使った時は実行時にコンパイルされるからリテラルの方が速い。
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
出してみて
0664デフォルトの名無しさん
垢版 |
2018/07/23(月) 14:08:06.67ID:F2Uj8hhN
>>662
ありがとうございます。
やってみました。どうでしょうか。

https://i.imgur.com/n7H5up5.jpg
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
問題は・・・







ひろみが男か女かってことだな
どっちにも取れるから悩ましい・・・
0676デフォルトの名無しさん
垢版 |
2018/07/24(火) 02:12:30.41ID:cgzpOT+U
dir = {
"a": "A",
"b": [1,2.3,4]
}

上の辞書の簡単なアンパックのやり方ないでしょうか?
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は何が違うのでしょうか?検索してもよく解りません……
0683デフォルトの名無しさん
垢版 |
2018/07/24(火) 22:51:37.27ID:jFaMrYyE
インタラクティブシェルはインタラクティブで、
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に"へび使いが優しくコメントを返します"ってあるけど全然優しくないコメントばっかだよね
0692デフォルトの名無しさん
垢版 |
2018/07/25(水) 15:23:45.12ID:VJ+BFjNO
プログラミングやってる奴なんて、根暗の性格曲がった奴しかいなから仕方ない
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
レスありがとうございます。

マスチスレッドでもう少しがんばってみます!
0857デフォルトの名無しさん
垢版 |
2018/08/07(火) 15:10:18.83ID:AJOeK/rw
https://pyq.jp/
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じゃないと言って俺を叩く
0885884
垢版 |
2018/08/13(月) 16:11:27.67ID:EM5FHKXS
訂正
>>882
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ウインドウ上にテキストを表示したいのですが何かいい方法ありますでしょうか
0930デフォルトの名無しさん
垢版 |
2018/08/15(水) 20:15:46.32ID:pSIls4/k
>>929
Pythonなんかつかわないで
そこらのロシアなんかに転がってるあやしげな汎用改造ツール使う
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
0995デフォルトの名無しさん
垢版 |
2018/08/23(木) 17:08:38.12ID:XM3jnZax
>>993
オンエア情報の分析をやってみたいんですが、その前段階のデータ取得ですでに躓いてます…
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を超えています。これ以上書き込みはできません。

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