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

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

ChainerでのRNN構築が難しそうなら、Kerasの方が簡単かもしれない
Kerasなら同じプログラムのままでGPU演算も自動判別して切り替えてくれる(GeForce系のグラボがあれば)
2018/05/18(金) 09:13:51.93ID:C1p7hCcF
pythonで入力待ちしないでキー入力を受けとりたい(キー入力判定したい)んですが良い方法ありますか?
環境はPython3.6 Win10 PowerShellです
2018/05/18(金) 09:54:37.86ID:syGPQ258
>>6
あー、追加でPython環境を入れられますね
VSに慣れてるから、これが一番とっつきやすいかな
2018/05/18(金) 12:21:59.26ID:0bNlNqhZ
>>6
VisualStudioいいよね
デッバクが楽すぎる これが圧倒的に
使いやすいと思うけどいまいち使われてない気がする
2018/05/18(金) 12:39:05.38ID:fwshwP4z
>>8
Windowsってfork使えないよね?(使えるならfork使えば良い)
キー入力を監視する処理と、メインの処理を同時にマルチスレッドで実行とかダメかい?
http://guri-tech.com/share-var-by-thread/
2018/05/18(金) 12:39:24.74ID:fwshwP4z
>>8
Windowsってfork使えないよね?(使えるならfork使えば良い)
キー入力を監視する処理と、メインの処理を同時にマルチスレッドで実行とかダメかい?
http://guri-tech.com/share-var-by-thread/
2018/05/18(金) 13:06:19.55ID:CXmSrKnd
>>10
デッバクとか書いちゃう人の言うことは信じていいの?
14デフォルトの名無しさん
垢版 |
2018/05/18(金) 16:09:40.23ID:0IKxFX6d
マルチスッドレとかいうスレもあるしな
15デフォルトの名無しさん
垢版 |
2018/05/18(金) 16:39:16.93ID:mfuydgPy
フォークて何や?
2018/05/18(金) 18:08:19.62ID:wWV9OIbj
スプーンに切れ目を入れたもの
17デフォルトの名無しさん
垢版 |
2018/05/18(金) 22:39:34.06ID:G//xWDDK
デッバグ知らんのか。
2018/05/18(金) 23:02:49.48ID:6o3S2gWG
bugをバグと呼ぶ奴はdebugのこともデバッグではなくデバグと呼ぶべき。
2018/05/18(金) 23:36:00.55ID:/9m6fhcD
>>18
だよな。
ついでに英語のDebugのDeの発音はデじゃなくディーに近いのにな
2018/05/19(土) 00:25:24.62ID:Ec2DQQjB
でーでーてー
2018/05/19(土) 00:47:28.51ID:cUBYzyDN
2ちゃんねる時代は順番や文字を入れ替えて書くのが当たり前だったけど、最近はそうでもないのかな
オパーイとかと一緒だろ
2018/05/19(土) 00:49:23.47ID:O40Hbg/A
日本人は耳が変だらんから
マルティ->マルチ、ディーバッグ->デバッグと聞こえるし
日本語をローマ字にするときでもrの発音やfの発音になるのを割り当てるからな
日本語の富士山はFujiyamaよりHujiyamaの方が日本語の発音に近いのに
2018/05/19(土) 00:58:25.93ID:zLtOYX5i
/^o^\フッジッサーン
2018/05/19(土) 06:39:55.50ID:7fCW1aeJ
実際の音を聞く機会が少なかったのだから仕方ない
25デフォルトの名無しさん
垢版 |
2018/05/19(土) 07:15:07.33ID:b7x1I7X/
>>13
見逃してた。いつぞやのケブンリッジと同じでやはり最初と最後が合ってると途中の文字順が違ってても騙されるな。
2018/05/19(土) 07:17:11.30ID:EiImd7MY
明治時代の先人は偉大だったね
漢籍は重要だった
27デフォルトの名無しさん
垢版 |
2018/05/19(土) 08:05:39.40ID:Uou9JhAx
>>21
オパーイやセクースは
何かタイプして楽しいじゃん。
デッバグはイけてないだろ。
2018/05/19(土) 08:13:27.05ID:7fCW1aeJ
ディーバッグだとお出かけするみたいだろ
29デフォルトの名無しさん
垢版 |
2018/05/19(土) 08:53:18.60ID:ijkQlh0o
>>22
マルチはむしろムーティって聴こえる
2018/05/19(土) 09:39:24.26ID:Z0jiH0Xz
最近超話題の聞き取り、Laurel and Yanny
日本人が月桂樹(ローレル)を英語で言ったら、ネーティブにはYannyと聞こえるらしいからな

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

Windowsではwin32api等を利用すると標準入力などで出来ることが増えそうですが、初心者には難しいですね…
2018/05/20(日) 00:31:50.18ID:7wv7cXB1
条件式で全角数字を判別する方法って正規表現使う以外に考えられますかね?
2018/05/20(日) 00:47:24.73ID:KHjLXF7u
if re.match(r'[0-9]+', target):
が他に書き方あるかって話?
実用的かはともかく、setにして差集合を取る方法でも書ける
2018/05/20(日) 07:50:19.52ID:EdxwYL1E
やっぱり機械学習やるならtensoflowなのか
37デフォルトの名無しさん
垢版 |
2018/05/20(日) 11:21:59.27ID:V9eOsuAz
>>33
初心者に難しいって言ってたらいつまでも初心者だぞ
薄皮一枚破った先に素晴らしい世界があるのに
2018/05/20(日) 13:46:03.67ID:KHjLXF7u
>>36
どこまでやる気なのか知らないけど、ほとんどの場合PyTorchやKerasやChainerで十分でしょ
自分にはこれこれこういう理由でTensorflowが必要だと言えるようになってからTensorflowを始めるといいよ
2018/05/20(日) 14:31:35.76ID:x5q6sh+1
>>2
pytharmがいいよ
簡単に一瞬で日本語になるし無料だし便利なの
2018/05/20(日) 15:03:31.17ID:x5q6sh+1
>>39
pycharmだった
2018/05/20(日) 20:44:55.84ID:d3vEmIWO
sqlalchemyのsessionってクラスなの?
それともsessionmakerのインスタンスなんですか?
42デフォルトの名無しさん
垢版 |
2018/05/20(日) 20:51:10.37ID:tGy/f9Df
誘導
https://medaka.5ch.net/test/read.cgi/php/1323960422/
43デフォルトの名無しさん
垢版 |
2018/05/21(月) 17:51:27.48ID:/fyuPWYc
pywin32でエクセルを開くと、稀に「呼び出し先に拒否されました」と表示され
エクセルのオープンに失敗する。
原因がわからん。
同じような経験した人います?
2018/05/21(月) 19:35:52.96ID:jGdjFtIo
既にExcelアプリで開いてるファイルを
書き込みモードで開こうとしたとか?
Excelは書き込みロックしやがるから
2018/05/22(火) 11:13:23.23ID:ZWMAcmk/
ロック状態が残ってるのかも
UnLockerとかでデッドロックプロセスがないか確認
2018/05/22(火) 17:40:24.58ID:8rzeJe30
[ [x1,y1], [x2,y2], ........]というリストがあるとして
y成分をある一定以上になるまで足していった時のx成分はどうやって求めたらいいでしょうか?
2018/05/22(火) 18:56:40.98ID:HBwTw42R
>>46
一定以上になった所でxをreturnしてしまえばいいと思います
2018/05/23(水) 00:52:53.09ID:TJzebZ52
>>47は頭良いな
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('メインスレッド終了')
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('メインスレッド終了')
51デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:06:36.04ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

BYX24
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が渡されるまでの過程があまりしっくり来ません。
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は介在できません
2018/05/24(木) 10:14:05.51ID:nuo1NuUv
>>52
Spyderのデバッガで処理を追っていくと、@point.setterの行に辿り着いた時点で変数エクスプローラーを見ると
valueの値が66になってる
その認識で良いんじゃないの
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
2018/05/24(木) 17:54:02.74ID:Dj4hL8GY
fizzbuzz書けるぐらいまでになりました
データ分析関係で何かプログラム組みたいと思っているんですけど、何かオススメありますか?
2018/05/24(木) 18:01:36.95ID:BrTobgD6
やっぱりWindowsよりMacの使ってる方が多いですか?
2018/05/24(木) 19:15:54.33ID:gANccVsQ
会社でMac使ってるの見たことない
2018/05/24(木) 19:16:53.75ID:dCOL2CYR
>>57
私はWindows
2018/05/24(木) 22:05:44.79ID:grSZ6JV3
win10、python3.6.5を新規でインストールしました。
hello.word!迄は勉強しました。
スクレイピングがしたくてpipで導入しようとしてるんですが上手く行きません、コマンド教えて頂けませんか?
2018/05/24(木) 23:35:13.23ID:iQu+wqIP
pythonはどうやってインストールしたのでしょうか
スクレイピングは具体的に何のライブラリを使おうとしてるんでしょうか
上手く行かないとは具体的に何が起こる(った)んでしょうか
何か表示されているようなら具体的にかつ正確に教えて貰えますか
62デフォルトの名無しさん
垢版 |
2018/05/24(木) 23:53:23.61ID:UsIL5vRA
ハローワールドからは、かなり遠いよね。イスカンダルに行くほどではないが。
2018/05/25(金) 00:47:19.29ID:WeGyxDGv
だがよく見てほしい。>>60はハローワールドすらまともに出来ていない。
2018/05/25(金) 01:11:37.39ID:2q76hzlV
>>62
超ゆとり教育受けた者は自分のいるところからどれぐらいの遠いのか、どれぐらい大変なのか
分からんからな。で、遠くて行くのが大変でもママ(車や交通機関を使って、さらに、おんぶして)連れて行ってだからな。
俺も超ゆとり教育を受けたから、30半ばなのにママ連れて行って・何とかしてのお坊やおっさんだよ,orz
おかげで、いつまでもママママの超初心者
2018/05/25(金) 01:15:20.22ID:aAJIJZ6P
初心者はPythonの対話型プロンプトからpip実行しようとしてハマることが多いかも

公式PythonならコマンドプロンプトかPowerShellからpip installを実行、
Anacondaなら仮想環境のプロンプトでpip installするか、AnacondaNavigator使って入れればいい
2018/05/25(金) 01:25:14.20ID:2q76hzlV
>コマンドプロンプトかPowerShell
俺の経験から超ゆとり教育受けた奴は何それだよ
2018/05/25(金) 01:47:04.69ID:i9eS1Jst
Win10ならコルタナさんに「Power Shellを起動」って頼むだけで良さそうだけど
68デフォルトの名無しさん
垢版 |
2018/05/25(金) 03:57:09.22ID:JRXZZDGl
ユルタナとか尻とか最初に真っ先に殺すわ
2018/05/25(金) 05:32:29.14ID:dB974EKc
os.rename(dir_path, new_name)
PermissionError: [WinError 5] アクセスが拒否されました。: 'F:\\名前\\古い名前' -> 'F:\\名前\\新しい名前'

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

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

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

>>75
Pythonを使って自分でチュートリアルをPDF変換すれば良いだろう
2018/05/26(土) 01:14:59.45ID:q85gb6RE
なんか、ひとごとでない感が半端無いんですがw
2018/05/26(土) 04:05:33.89ID:LgmduppO
流石弟並みの俺ら
2018/05/26(土) 19:21:59.90ID:foLPIKFk
自分の好きな画像を覚えさてそれに似たような画像を自動で集めてくるみたいなプログラムを作りたいんですが、そのために必要な知識技術が取り入れられる初心者向けの本はありますか?オライリーの入門Pythonを一周した位の初心者なのですが、、
2018/05/26(土) 20:08:28.91ID:K60G8etE
糞クローラーつくろうとするなksg
82デフォルトの名無しさん
垢版 |
2018/05/26(土) 20:10:05.46ID:Lty78diJ
またスカトロの話してる…
2018/05/26(土) 22:25:47.66ID:foLPIKFk
>>81
作ったら不味いヤツなんですか?便利そうだなーとか思ったんですが 
2018/05/26(土) 22:55:59.70ID:4Cpb9YS7
トラフィックが増えてネットが重くなる
2018/05/26(土) 23:13:43.20ID:foLPIKFk
>>84
そんなにですか
重くなるだろうなとは思ってたので50枚取ったら終わりみたいに軽めの限界は設定しようとしてたんですが甘かったですね
しかし目標が無くなってしまった
2018/05/26(土) 23:38:34.04ID:4Cpb9YS7
レンタル糞サーバー使ってるサイトの身にもなってくれ
87デフォルトの名無しさん
垢版 |
2018/05/26(土) 23:42:59.64ID:Lty78diJ
>>86
レンタル糞サーバーが糞なのは陸の孤島ならぬネットの孤島やからやぞ
世間のトラフィックの99.9999999999999%はおまえんとこに影響ないからw
2018/05/27(日) 03:31:42.23ID:c4nNYBzo
>>80
クローラーは、wget を参照

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

どういう画像が似ているのか、その定義が一番難しい
2018/05/27(日) 11:30:53.46ID:mgulVE2s
たくさんPython野郎が遊び感覚でクローラー作ってネットを重くしているのか
トータルではgoogle以上にあっちこっちのサイトにクレクレしてたりしてな
2018/05/27(日) 19:20:03.62ID:hNRd2ZGo
scrapyをホストするサービスが存在している時点でその辺は察してくれ
2018/05/27(日) 22:46:31.42ID:bmQsi9JQ
このようなウンコも存在する模様
http://data.gunosy.io/entry/python-scrapy-scraping

>務教育で教えても良いんじゃないかとよく思うWebクロールとスクレイピング
2018/05/27(日) 22:47:44.18ID:bmQsi9JQ
例題に自社サービスを使ってるところだけは評価
2018/05/27(日) 23:49:42.39ID:5wdFvZhW
スレ違いだったらごめんなさい
自然言語処理をweb等を見様見真似で勉強してます
その中で共起ネットワーク図というものを見かけて面白そうだったのでやってみたいのですが、まだスクレイピングなどはやった事がないのでまずは青空文庫等のテキストデータを使って共起関係にある単語を表示してみたいと思っています
形態素解析するところまで出来たのですがその先の部分はサンプルなどを見つけられなくて行き詰まっています…
使うべきモジュールなども分からない状態なのですが、どのようにして共起している単語の抽出が行えるでしょうか?
初歩的な質問で申し訳ないのですがよろしくお願いします
2018/05/28(月) 01:04:32.12ID:wVRqLEBr
オライリーの本を買えばすぐわかるよ!
2018/05/28(月) 04:26:40.64ID:wNw5dm7C
さすがにこれは本読んでほしいね
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の)をしてから出直した方がいいと思います
命が掛かっているなら金次第で相談に乗ります
2018/05/28(月) 07:39:17.97ID:OuhpSUOS
>>93 です

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

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

次の要素毎にjaccard係数を求める部分についてなのですが引数として2つのリストを与える必要があるのかなと思うのですが、この時引数とするリストは直積リストともうひとつは何に当たるのでしょうか?
形態素解析したリストになるのでしょうか?
せっかく流れを示して頂いたのにすいません
基本的な考え方も分からないんだと痛感します…
2018/05/28(月) 17:58:55.76ID:ou7O8CU4
pythonの本増えすぎじゃね?
2018/05/28(月) 18:30:53.73ID:wVRqLEBr
やんたの?
2018/05/28(月) 18:40:42.01ID:vdxePaRv
プログラミング全くの未経験で手を出してしまった…どうしよう
2018/05/28(月) 19:28:13.46ID:wVRqLEBr
そっと、手を引っ込めれば、大丈夫 ;)
2018/05/29(火) 01:32:19.33ID:Xb0sm+Zw
ダメ、自首しなさい
106デフォルトの名無しさん
垢版 |
2018/05/29(火) 08:25:22.63ID:BwhXSTip
本増えるのはいいけど入門書はいらん
もっと突っ込んだ内容のやつが増えて欲しい
2018/05/29(火) 11:15:10.14ID:OeR4MtJu
すごく、、、詳しいです。。
108デフォルトの名無しさん
垢版 |
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")

宜しくお願いします
109デフォルトの名無しさん
垢版 |
2018/05/29(火) 17:46:23.55ID:QKhV4oKb
それだと 1,3,5 じゃないのか
110デフォルトの名無しさん
垢版 |
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)
111108
垢版 |
2018/05/29(火) 18:00:06.08ID:OdQFw6jJ
>>110
ありがとうございます
ほげー、一行で出来るんですね・・・
まさかforで回すわけでもないしと悩んでました

numpyでグレースケールで採り込んだら
RGBのカラーの時の値が入ってた枠が無くなってしまって
ほげほげしてたところでした・・・助かりました。
112デフォルトの名無しさん
垢版 |
2018/05/29(火) 22:16:06.70ID:iRdPA+i/
ipythonでインデント(ブロック)の終了ってどーやんの?っと
113デフォルトの名無しさん
垢版 |
2018/05/30(水) 00:11:49.14ID:6Ga5VGJ6
>>112
エンター押しまくる
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

と返された。誰か助けて
2018/06/01(金) 17:19:10.73ID:UBye49NJ
ファイルのエンコーディング確認
116デフォルトの名無しさん
垢版 |
2018/06/01(金) 18:08:04.05ID:Wbxpqrec
coding: hogehoge
2018/06/01(金) 20:50:43.65ID:g56dgDhl
なるほど、教えてもらったキーワードでググって
なんとなく理屈が見えたきた
ありがとう
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] みたいに呼び出す方法ありますか
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番目を直接求めるアルゴリズムもあるとは思う。
2018/06/02(土) 12:01:42.03ID:Mn+2M+g0
>119
下記にコードがあった。
最初のコードは間違っていて、後ろの方に出てくるのが正しいらしい。
計算量は、リストの長さをnとして、O(n^2)
http://code.activestate.com/recipes/126037-getting-nth-permutation-of-a-sequence/
121デフォルトの名無しさん
垢版 |
2018/06/02(土) 14:05:36.42ID:yUEJ+BJS
>リストを並び替えると
>...略...
>となるけど

なんで確定してんの?
2018/06/02(土) 14:58:37.23ID:Mn+2M+g0
辞書順でって書いて欲しいよね
2018/06/02(土) 15:04:41.70ID:dZS8JdkF
でっていうw
124デフォルトの名無しさん
垢版 |
2018/06/02(土) 15:13:34.52ID:yUEJ+BJS
並び順次第でもっと高速アルゴリズムあるだろ
125デフォルトの名無しさん
垢版 |
2018/06/02(土) 15:15:45.21ID:yUEJ+BJS
あと要素に重複許すか許さないかも決めろ
126デフォルトの名無しさん
垢版 |
2018/06/03(日) 00:38:10.83ID:XOBHiyXi
なんでもかんでも他人が決めてくれると思うなよ
2018/06/03(日) 16:48:41.00ID:YC/G71rw
print("test")
2018/06/03(日) 20:21:55.32ID:bfa47pyD
でかいカタツムリが頭から離れない
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の関数を使うなりで高速に処理したいです
130デフォルトの名無しさん
垢版 |
2018/06/04(月) 03:05:03.63ID:kbH5Vpqw
,足りないからsytax error
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)])
としたら望んだ動作をさせることが出来ました
これが正攻法ですかね?
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になる。
どうすればよかったの?
2018/06/04(月) 13:01:34.66ID:idJqzVHE
何で分からないのか全く分からないが
最初にa.append([])すればいい
2018/06/04(月) 13:10:05.65ID:gu22rR49
多分indexが1から始まると思ってるんでしょう。
2018/06/04(月) 16:10:44.39ID:vxffLJZ1
This is append.
2018/06/04(月) 19:35:46.16ID:XnHANXyJ
Pythonってオブジェクト指向なの?
クラスあるだけ?
2018/06/04(月) 20:11:09.05ID:gjT3Zats
pythonでは全てがオブジェクトだよ
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は表示されたままです。
コマンドプロントで表示させるにはどうすれば良いのでしょう?
2018/06/05(火) 00:11:16.44ID:2Xl5RiK7
椎名林檎と金慶珠
2018/06/05(火) 02:02:26.17ID:LvfHSQTn
プロントと言えばパスタでしょ
141デフォルトの名無しさん
垢版 |
2018/06/05(火) 07:12:27.46ID:vNq9k7GF
タリーズのパスタセットのほうが好き
2018/06/05(火) 08:25:09.33ID:mf3VSMyj
昼間っからプロントの外席で酔っぱらえる暮らしがしたーい
2018/06/05(火) 08:26:51.27ID:lzn810vN
>138
a = input()
をプログラムの最終行に追加して、ユーザーからの入力待ちにしたら、コマンドプロンプトが閉じずに開いたままになると思うよ。
2018/06/05(火) 09:18:02.25ID:ALr8nSGL
でもコマンドプロントは閉じちゃうんでしょ?
145デフォルトの名無しさん
垢版 |
2018/06/05(火) 12:20:58.47ID:5wSar7or
>>143
ヤッマーマンコーヒーライター
2018/06/05(火) 13:30:42.56ID:YM6WlMJz
おまんこポロンと
147138
垢版 |
2018/06/05(火) 15:33:40.43ID:6QaUpT89
>>143
ありがとうございます。出来ました。
148デフォルトの名無しさん
垢版 |
2018/06/05(火) 21:35:53.64ID:Z1nEut3E
すみません、どなたか教えてください。
requestsでデータを取得したいのですが、一回目のget()は成功するのに、2回目以降が失敗してしまいます。どうしたらいいでしょうか?
ソースコード → ttps://pastebin.com/iKXzUgL5
149デフォルトの名無しさん
垢版 |
2018/06/05(火) 21:58:12.58ID:HKweH0GP
>>148
あんま見てないけどjson.loadsにリスト渡せれたっけ?
2018/06/05(火) 23:12:10.76ID:4Q7TkxG/
失敗する時のurlは確かに自分が想定しているものか?
失敗する時のエラーコードはいくつ?
curlを打っても同じか?
151デフォルトの名無しさん
垢版 |
2018/06/06(水) 00:05:28.07ID:cQ8rOQ34
>>150
URLはチェックしたつもりでしたが、完全に見落としていたようです。
ホスト名がおかしくなってたのが原因でした。恥ずかしい・・・
お騒がせしまして誠に申し訳ありませんでした。
152デフォルトの名無しさん
垢版 |
2018/06/06(水) 02:19:30.77ID:GFJOl7V+
遊園地とデートしたい
2018/06/06(水) 08:19:21.14ID:KWo7wxdh
大人の遊園地
154デフォルトの名無しさん
垢版 |
2018/06/06(水) 11:57:29.64ID:I9hgDbEz
次の質問は cookiejar
2018/06/07(木) 12:28:21.12ID:c1Bi/jYJ
jupyterlabってjupyternotebookの上位互換でいいの?
156デフォルトの名無しさん
垢版 |
2018/06/07(木) 12:30:46.46ID:4mIWw2z0
かぶせてるんじゃないの
2018/06/07(木) 16:09:29.19ID:w0N4AyGA
僕はかぶってないです
2018/06/08(金) 00:07:27.05ID:/ZKULDsJ
どうせおしっこしか使い道のないちんちんなんだからそんなに気にすんな
159デフォルトの名無しさん
垢版 |
2018/06/08(金) 08:19:51.76ID:/bqVuVHr
かぶきあげ
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')
とかしてもダメで困ってます。
2018/06/08(金) 09:21:21.43ID:/RmWgxMJ
しらんがな
2018/06/08(金) 09:28:53.74ID:45o5Ogqr
>>160
2系使うな
3系使え
163160
垢版 |
2018/06/08(金) 09:34:49.45ID:lmxa68Ln
Python3.6です。
サーバはcentos7です。
2018/06/08(金) 09:46:33.00ID:bb8JjxXT
そうなんだ
2018/06/08(金) 09:51:32.35ID:45o5Ogqr
じゃあファイルのエンコードがおかしいんだろ
166160
垢版 |
2018/06/08(金) 09:54:31.46ID:lmxa68Ln
ファイル名を英数字のみにしたら問題なくアップロードできるんです。
2018/06/08(金) 09:56:14.12ID:bb8JjxXT
そうなんだ
2018/06/08(金) 10:21:53.19ID:45o5Ogqr
>>166
じゃあそれで回避しる
169デフォルトの名無しさん
垢版 |
2018/06/08(金) 11:00:54.58ID:kYrAgZlc
教えてください。
クラスを作って、それにデータを入れてって、
それをList配列にセットしていったら全部同じ内容になってしまいます。

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

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

もし中身が参照だったら、その実体もコピーしなければならない
172デフォルトの名無しさん
垢版 |
2018/06/08(金) 15:52:16.84ID:flVgGL8G
>>158
しこしこすると、気持ちいいぞ
やってみ
2018/06/08(金) 17:36:57.31ID:2zroGubc
158じゃないけど、やってみた。
痛くて全然気持ちよくない。
2018/06/08(金) 17:56:20.67ID:4DM+q81K
[Hoge(n) for n in range(10)]
2018/06/08(金) 19:27:23.91ID:MM/7eySM
>>173
それは真性だから病院へGo!
2018/06/08(金) 23:52:16.42ID:/ZKULDsJ
>>172
セフレがペロペロしてくれるずる剥け野郎で悪かったな
177デフォルトの名無しさん
垢版 |
2018/06/09(土) 17:37:21.10ID:Rjsi/POz
独学プログラマーという本でpython勉強してるけど。ディープラーニングやるなら、統計学とか数学知識もだいぶ要求されるんですね。ディープラーニングなんて言葉もさっき知ったばかりだけど、目的もなくプログラミング勉強して仕方ないよね。

お前らはなんの目的をもって、python勉強してるん?
2018/06/09(土) 17:42:01.07ID:a58WBe6r
欲望を満たすため
2018/06/09(土) 17:53:36.86ID:AIOFAY9W
乗るしか無い
このビッグウェーブに
180デフォルトの名無しさん
垢版 |
2018/06/09(土) 18:11:28.86ID:Rjsi/POz
俺以外にも波乗り人がいて安心した

仕事は大工で転職したい訳でもないけど、ローテクの仕事してる人間として。プログラミングに憧れがあったんだよねー。
2018/06/09(土) 18:13:00.38ID:VrCE6n6G
エロ画像収集にしか使ってないから偉そうなことは言わない
2018/06/09(土) 18:48:15.65ID:Jnz70VEo
プログラミングできる大工とかかっこよすぎなので禁止します!
2018/06/09(土) 21:25:28.42ID:dWoOad5I
WEB+DB PRESS vol.104、1,480円 + 税

Python, Unity 特集
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
になってしまいます。
どこが間違ってるのでしょうか?
185デフォルトの名無しさん
垢版 |
2018/06/10(日) 10:47:08.17ID:mYiZBk29
自己解決しました
戻り値が辞書型なようです
すいません
186デフォルトの名無しさん
垢版 |
2018/06/10(日) 15:51:44.31ID:cIF/Pitw
ナムパイ より  オッパイ が  すぅき〜〜〜〜ぃ!
187デフォルトの名無しさん
垢版 |
2018/06/11(月) 10:35:45.86ID:tK3aH3wF
>>183
立ち読みしたけど
このスレ見てるひとには物足りないと思うよ
188デフォルトの名無しさん
垢版 |
2018/06/12(火) 15:02:09.09ID:T8vrMQ/8
>>187
このスレ超初心者用じゃないの?
2018/06/12(火) 18:45:39.13ID:1JN678Ut
一部のwebサイトのソースで日本語が \u0000 みたいな形式になってることがあるんですけど
これを普通の日本語として表示させるにはどうすればいいですか?
2018/06/12(火) 19:17:17.65ID:2L+m/FfH
そのままconsole.logにぶっ込めばいいよ。
console.log('\u6584')
=> 斄
2018/06/12(火) 20:19:54.95ID:1JN678Ut
すいません質問の仕方が悪かったです

IDLEに対して"\u6587\u7ae0"と入力すると
"文章"と表示されるのはわかっているのですが
\u6587\u7ae0 という文字を含むファイルを読み込んでも
"\\u6587\\u7ae0" と表示されるだけなので
これをなんとかして"文章"に変換してスクリプト内で自由に扱えるようにしたい
ということです
あと環境はWin10 Python3.6.0です
2018/06/12(火) 21:40:04.31ID:YVMRGW8t
codecs.decode(foo, 'unicode-escape')
2018/06/12(火) 22:06:43.72ID:1JN678Ut
>>192
できました。ありがとうございます
194デフォルトの名無しさん
垢版 |
2018/06/15(金) 07:13:57.77ID:3m9PjRhE
スパイダーにパイゲーム入れたらスパイダーの実行ファイルが2つになった
spider.exeとspider(pygame).exeだ
これ普通なの?
追加するたびにexeが増えるとかおかしくない?
2018/06/15(金) 08:40:06.77ID:Rb3jCNU/
>>192
質問者じゃなかったけどちょうちょうちょうたすかった
すばらしい!!! (・∀・) ありがとう!!!
196デフォルトの名無しさん
垢版 |
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()
197196
垢版 |
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,〇〇〇)
    〇○○〇〜
198196
垢版 |
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'と表示されます。
199デフォルトの名無しさん
垢版 |
2018/06/15(金) 16:11:23.50ID:OdSPYtBq
質問の仕方がおかしい
2018/06/15(金) 22:04:53.01ID:ymZBnmIf
「python module import」で検索!

https://docs.python.jp/3/tutorial/modules.html

>import mlib
よく知らないけど、import の後ろにクラス名は、書けないのかも?
2018/06/16(土) 12:00:24.81ID:Qzlh17q8
>>196
肝心のmain.pyとmy_lib.pyの置き場所は?
それと /home/ec2-user/environment/my_lib ディレクトリ以下の構成は?
202196
垢版 |
2018/06/16(土) 13:02:52.35ID:J0XQYDu0
>>201
各ファイルの置き場所は以下になります。

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

require_relative 'my_lib/my_lib.py'
2018/06/16(土) 21:35:07.29ID:V0Z3yofC
【Python入門】パッケージの作り方と色々なimportの方法
https://www.sejuku.net/blog/25587

__init__.pyに、importしておきたいファイルを、相対パスを使って書く
2018/06/16(土) 21:35:07.95ID:xo8+58G0
仕返しにRubyスレ荒らそうぜ!
Ruby 初心者スレッド Part 63
http://mevius.5ch.net/test/read.cgi/tech/1523954817/
2018/06/16(土) 22:44:20.42ID:gqmCF5e7
>>207
あのアスペはRubyスレでも人工無脳扱いなので勘弁して欲しい
2018/06/17(日) 09:30:54.55ID:89kw/R7U
Cに挫折してPythonに来たけど、PythonをやってみるとCが難しい理由がよくわかる
Cにはリスト・辞書など実用的なプログラミングに必須のデータ構造がなく、
それに相当する構造を自前で実現しようとするとメモリイメージを理解したうえで
ポインタを駆使する必要がある
一般人は肝心のロジックを書く前に、データ構造の構築と操作でギブアップしてしまう

何が言いたいかというと、Pythonを作ってくれてGuidoさんありがとう
こんな私でも正規表現を使って業務データを望みの形に加工するくらいできるようになりました
2018/06/17(日) 12:08:47.33ID:0n282sb+
subprocess.runを使ってwgetにファイルをDLさせたいんですけど
URLに&が含まれているとエラーになってしまいます
あとfor文でURLに連番を付加したときもエラーが出ました
どう対処すればいいですか?
2018/06/17(日) 13:58:33.95ID:a0y5ZZCH
初心者ですが
anacondaでF5で実行後IPythonコンソールにプロンプト(フォーカス?)を
自動で移動したいのですが方法設定はないでしょうか。
input()で入力を求められるところでいつも誤ってプログラムの書き換えをしてしまいます。
212パイソン初心者
垢版 |
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に関しては質問用です。
213212
垢版 |
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はテキストファイルじゃなくてもいいです。
2018/06/17(日) 23:47:02.24ID:zwR/a8LX
まずファイルを読み込んで一行ずつ使用する方法と
関数を定義して処理を再利用する方法を覚えたら
https://docs.python.jp/3/tutorial/inputoutput.html#methods-of-file-objects
https://docs.python.jp/3/tutorial/controlflow.html#defining-functions

つーかその辺が分からずにそこまで行ったのはある意味凄いね
2018/06/18(月) 00:08:19.75ID:QaoNGVd4
>>214
ありがとう。頑張ります。
2018/06/18(月) 00:21:43.97ID:CeTul5Qc
3つのコードしか知らないのに優れた楽曲をつくるやつもいるからな
2018/06/18(月) 00:38:30.76ID:QaoNGVd4
pythonは今日勉強を始めたばかりです。
プログラム自体が初めてですが、楽しいですね。
とても好きになりました。

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

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

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

Python Django 超入門、掌田津耶乃、2018
2018/06/18(月) 20:24:00.31ID:PCvROOcF
発達障害はチンパンジーアイちゃんと小粋なトークしてろ
2018/06/18(月) 21:41:23.20ID:ltR7ddTW
ruby信者ホント気持ち悪い
226212
垢版 |
2018/06/18(月) 22:34:36.18ID:QaoNGVd4
解決しました。引き続き精進します。
2018/06/19(火) 04:23:54.29ID:6x0qbtHZ
スクレイピングする時に、
デフォルトのモジュールのみで、パースも正規表現駆使して拾いながら
手続きの流れのままにズラズラと構成しちゃダメかい?
2018/06/19(火) 05:01:01.25ID:0nk/xPMo
<1><2></2></1>

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

jQuery, Ruby のNokogiri では、CSS セレクターを使う。
XPath よりも良い
2018/06/19(火) 05:59:30.68ID:6x0qbtHZ
前後の文字列で肝心のデータ部分を特定・取得できさえすればいい場合は、
正規表現でもそんなには困らないんだけどね。
230デフォルトの名無しさん
垢版 |
2018/06/19(火) 09:16:28.04ID:a6uoRFLw
今時だれがrubyなんて使ってんだ?
PythonとBeautiful Soupでやるだろ。
本屋でもこの組み合わせばかり。
nokogiri?どころかruby自体の本すらない。
2018/06/19(火) 09:57:15.89ID:bbVl/Mhd
seleniumでchromeのヘッドレスでダウンロードしたいんだけどどうしたらいいの?
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/
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
2018/06/19(火) 10:57:31.22ID:CdRPQvnG
>>233
ありがとう
見てみます
2018/06/19(火) 11:14:22.26ID:CdRPQvnG
>>233
すみません普通にならダウンロードはできてるんだけど
ヘッドレスモードにするとダウンロードできなくなるんです
2018/06/19(火) 12:24:26.47ID:dYMcqEpR
ほなヘッドフルでええやん
細かいことは気にすんな
237デフォルトの名無しさん
垢版 |
2018/06/19(火) 19:56:07.63ID:HoCrEKEA
PythonのIDLEの画面をクリアすることってできますか?
2018/06/19(火) 20:02:06.90ID:q/YRP9sv
>>237
ctrl + Lでできる
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"
240デフォルトの名無しさん
垢版 |
2018/06/20(水) 00:14:42.51ID:roLNtd78
>>239
python2でもpython3でも動きませんでした。
他の方お願いします
2018/06/20(水) 07:19:49.66ID:pPwORwNI
>>209
俺と同じ感想の人が居てた、python大好き
2018/06/20(水) 08:12:14.73ID:pNRxkBp/
やりたいことに集中できるのがPythonの良さなのは同意するけど、便利な既製のデータ構造なんか他の言語にもだいたい用意されてるだろ
Pythonは文法がシンプルで記述の自由度が低く、変な例外的な仕様も少ないから、
どの書き方が美しいかなどというくだらないことをあまり考えなくていいんだよ
その結果、やりたいことに集中できる
2018/06/20(水) 09:59:20.08ID:/3yawfqw
C++にもベクターっていう超便利さんが居るじゃん
244デフォルトの名無しさん
垢版 |
2018/06/20(水) 12:35:53.89ID:XX+H87IB
1円硬貨: 8 枚
5円硬貨: 3 枚
10円硬貨: 2 枚
50円硬貨: 2 枚
100円硬貨: 3 枚

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

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


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

http://codepad.org/Hyc8E6HM
245デフォルトの名無しさん
垢版 |
2018/06/20(水) 12:38:16.91ID:XX+H87IB
>>244

http://codepad.org/KYsvalF1

コードは↑こっちを見てください。
246デフォルトの名無しさん
垢版 |
2018/06/20(水) 15:34:20.79ID:OnxnZInx
>>243
Cの話してるところにC++の話題持ち込むと混乱するからやめて
2018/06/20(水) 16:04:05.44ID:pwTbHfBQ
プログラミング全くの初心者なのですが、beautiful soupというのを学ぶのに一番適している本やWebサイトってどれでしょうか?
248デフォルトの名無しさん
垢版 |
2018/06/20(水) 16:29:37.34ID:OnxnZInx
ここで聞くのが早い
2018/06/20(水) 18:27:58.86ID:+C1LL1e5
なにか作リながら覚えたほうがいいよ
2018/06/20(水) 18:37:51.47ID:Ei8zBiKz
>>245
俺には関数部分のコードが正しいのかはわからんのだが、
paysに0が含まれてるからとかってオチじゃないの?
2018/06/20(水) 18:40:48.63ID:pwTbHfBQ
とりあえずPythonによるWebスクレイピングという本買って勉強してみます
2018/06/20(水) 19:36:01.15ID:f2SC6f9A
まずチュートリアルくらいやってから目的に着手しろ
2018/06/20(水) 19:41:13.26ID:pwTbHfBQ
了解です!
2018/06/20(水) 19:41:29.35ID:j+YwaUS/
この間その本買ったけれどエキサイト翻訳かと思った
2018/06/20(水) 22:49:52.55ID:NQCW3xu6
jQuery, Ruby のNokogiri の、CSS セレクターを参照。
XPath よりも良い

なでしこの作者、クジラ飛行机の本は、難しいのか
2018/06/21(木) 00:19:08.94ID:dFNQiNVu
そんな言い方して初心者がわかるわけねーだろw
257デフォルトの名無しさん
垢版 |
2018/06/21(木) 00:34:34.36ID:9yZQgWTf
またrubyスレ荒らしてこなきゃ…
2018/06/21(木) 02:20:29.04ID:4X5SWneX
使命感なの?
259デフォルトの名無しさん
垢版 |
2018/06/21(木) 09:16:14.27ID:th0Ggf9H
いいえ、自作自演です
2018/06/21(木) 09:21:58.43ID:aMhGFfRi
あたまいいな
2018/06/21(木) 10:29:14.72ID:lfaMuH86
jythonみたいなやつでpython3のはありますか?
2018/06/21(木) 12:28:34.50ID:Ngoevl6s
ありません
2018/06/21(木) 14:20:26.85ID:4fOpOd5u
pypyならあります
2018/06/21(木) 16:04:08.29ID:+lcgGtMn
>>263
pypyってやつを使えばpython3とjavaを一緒に使えるんですか?
2018/06/21(木) 16:46:24.14ID:4fOpOd5u
楽観的な解釈をするならばYes
質問者のレベルに合わせて考えるならNo
2018/06/21(木) 18:16:42.62ID:OqoFGLVJ
Anacondaからjupyter notebookを立ち上げてプログラムを起動するとno module named intertoolsというエラーが出ます
中身を確認したり何度かプログラムを動かしていると動作します
数分前まで動いていたプログラムでさえ立ち上げ直後は上記のエラー発生するのですが同様のケースを経験された方はいらっしゃいますか?
267デフォルトの名無しさん
垢版 |
2018/06/22(金) 07:26:43.33ID:Msegs9yk
ヘルプかマニュアルに書いてある
268デフォルトの名無しさん
垢版 |
2018/06/22(金) 09:31:36.57ID:MYEvMa8B
itertools
2018/06/22(金) 12:16:23.68ID:rBqx8nP+
指定した値が入っているリスト番地を返すindexって命令がありますけど
あれの正規表現版みたいなのはないですか?
2018/06/22(金) 12:44:11.76ID:nYBVNtu1
みたいなのってなんやねん
2018/06/22(金) 13:03:23.91ID:MYEvMa8B
$1
272デフォルトの名無しさん
垢版 |
2018/06/22(金) 13:42:50.45ID:PcH7NVke
>>269
https://docs.python.jp/3/library/re.html#re.match.start
2018/06/22(金) 14:58:02.62ID:lWEcvKD/
idx = next(i for i, v in enumerate(hogelist) if re.search(r"hage", v))
こういう事言ってるのかと思った
2018/06/22(金) 16:28:11.91ID:rBqx8nP+
>>272-273
目的を解決する標準関数はないけど
そのやり方を参考に自作関数を作ればいいわけですね
分かりました。ありがとうございます
275遊園地
垢版 |
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())
276遊園地
垢版 |
2018/06/22(金) 22:20:43.17ID:FpgraKib
>>244は全部使うと1通りになります。的な?
277遊園地
垢版 |
2018/06/22(金) 22:22:53.99ID:FpgraKib
合計金額とか
ない感じ、ですかね。
2018/06/22(金) 22:24:50.81ID:sTCVcul9
>>244

解決しました。

http://codepad.org/Qwv8xxB5
279遊園地
垢版 |
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..
2018/06/23(土) 10:34:48.24ID:AshQdjwf
71通りになった
問題の解釈を間違ってなければだけど
281デフォルトの名無しさん
垢版 |
2018/06/23(土) 11:37:24.13ID:Ixf2W+q9
スクレイピングしたら
requests.exceptions.ConnectionErrorがでて
「既存の接続はリモート ホストに強制的に切断されました」って表示されたんだけど
これ相手から弾かれたってことですよね

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

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

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

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

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

ありがとう。止まったのは夜中だから機械的にアクセス拒否されたと考えてます。
timesleepの秒数をもっと長くして、あとrondomと組み合わせて、同じ時間感覚でアクセスするのやめるて様子みてみます。
287遊園地
垢版 |
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、画像にまったくアクセスしていない
注意:画像だけにアクセスしても同様に対処される
288デフォルトの名無しさん
垢版 |
2018/06/23(土) 14:26:59.81ID:8e5n022B
それこそ人工知能で人間っぽくみせるプログラムとかを作ってほしいですよね。
289遊園地
垢版 |
2018/06/23(土) 14:29:45.70ID:rgQZb8eO
いくつかの書式形式から、HTML構造を頻繁に変えられると
もう、維持の張り合い

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

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

試した事ないから、無理かもしれない。+時間が膨大にかかる
291281
垢版 |
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の検索経由でスクレイピングする方法も試してみます。
292遊園地
垢版 |
2018/06/23(土) 18:20:10.76ID:rgQZb8eO
>>291
おめでとう。

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

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

諦めて、PyAutoGUIでキーボードでブラウザ操作に切り替え用か迷ってる。
2018/06/23(土) 21:41:08.02ID:m3qN670q
質問です。

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

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

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

77や78を動かした時のみ上の関数が動くようにするにはどんな方法がありますか?
2018/06/23(土) 22:33:19.54ID:AshQdjwf
え、ifも分からないとかそういうレベルなの
ifは分かるの?どう?
2018/06/23(土) 22:36:48.34ID:euiJmXfR
if文は分かりますが、この場合どうやって使うんでしょうか?
2018/06/23(土) 22:38:41.95ID:3sIWKIRG
>>297
なんでいちいち煽るのスレタイ読めないの
2018/06/23(土) 22:41:53.16ID:AshQdjwf
ifで77に必要なコードと78に必要なコードに分けろ
普通の頭ならそうする

>77や78を動かした時のみ上の関数が動くようにするにはどんな方法がありますか?
変数を一切使わなければいい
あのコードだと読み辛すぎて普通の頭ならやらない
2018/06/23(土) 22:57:34.69ID:m3qN670q
>>300
どうもありがとうございます
ifの使い方、変数を使わない方法を考えてみます
302遊園地
垢版 |
2018/06/23(土) 23:03:26.61ID:rgQZb8eO
何してるかすら分からないや。

https://ideone.com/yojJc6
2018/06/23(土) 23:06:55.26ID:rgQZb8eO
https://ideone.com/6BkLDd
304デフォルトの名無しさん
垢版 |
2018/06/24(日) 15:48:36.36ID:RVJ6teNY
スクレイピングに挑戦してるんだど
503や404のHTTPerror別に処理を分ける方法ってありますか?

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

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

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

あと、プログラムを覚える前段階として正規表現を覚えるといいよ
Webから情報をコピー→テキストエディタやエクセルに貼り付け→正規表現で整形
という作業を日常的によくやるようになったら、プログラムスキルも伸びやすいと思う
319デフォルトの名無しさん
垢版 |
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()
320デフォルトの名無しさん
垢版 |
2018/06/24(日) 19:34:46.58ID:QeMF1Yls
最初っからわかるヤツなんていない。

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

謎のような呪文を覚えるって、皆言ってる
2018/06/25(月) 05:30:16.27ID:EtUnF6lg
ほとんど英語やん
2018/06/25(月) 08:41:46.74ID:VZyJO0ys
RPCやってみようと思うんだけどどれがオススメ?
2018/06/25(月) 09:03:49.98ID:Cj5A+AR2
catって猫なの?
2018/06/25(月) 09:36:34.17ID:naF7zW7q
いまだととりあえずgRPCしとけって空気だな
2018/06/25(月) 11:11:09.05ID:fSERGsnu
c言語の構造体配列みたいなのはpythonでどうやればいいんですか?
2018/06/25(月) 11:18:33.76ID:DuFsc7dI
みたいなのではなく目的を言え
そんな聞き方をされても、同じものはPythonには無いとしか答えられん
2018/06/25(月) 11:38:50.40ID:dToWkiL+
>>330
オブジェクト指向機能使えばいいのでは?
2018/06/25(月) 11:59:32.82ID:fSERGsnu
>>332
アドバイス通りクラスとか配列とかいい感じにすればできそうです
ありがとうございました
334デフォルトの名無しさん
垢版 |
2018/06/25(月) 14:06:46.86ID:Mhnqwvq5
codeacademyって、Python3のコースってできたの?
それともまだ2だけ?
335デフォルトの名無しさん
垢版 |
2018/06/25(月) 14:24:05.55ID:tpBtUwyy
>>330
ctypes
struct
336デフォルトの名無しさん
垢版 |
2018/06/25(月) 14:25:22.14ID:tpBtUwyy
ctypes.Structure だった
2018/06/25(月) 18:29:35.17ID:xfktAix5
すみません
くっっっっっっっっっっっっっそ初心者丸出しの質問で申し訳ないです
公式からexeインストーラをDLしてインストールしたのですが、コマンドプロンプトでバージョン確認しようとしても
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と出て実行できません

インストール時にパスを通すオプションにはチェックを入れたし、念のため環境変数も確認しましたが
インストールフォルダ、及び配下のScriptフォルダがpathに設定されていました
OSはWin10 64bitです
使用したインストーラはpython-3.6.5-amd64.exeです
何がいけないのでしょうか
2018/06/25(月) 18:35:53.90ID:aY7uj4w5
>>337
3系はたぶん python3 あるいは py だとおもうの
2018/06/25(月) 18:43:36.08ID:xfktAix5
>>338
マジだ
pyでした
ありがとうございました!
2018/06/25(月) 20:52:30.61ID:0JOXULDc
すみません、pythonを「サイフォン」と読んでしまう病気にかかっているのですが、治す方法はないでしょうか、、、
2018/06/25(月) 20:54:59.76ID:Z7/mvOLq
ナノマシンでも注入されてるか、ゴーストハックされてんじゃないですか?
2018/06/25(月) 20:56:36.93ID:IGovl2eG
https://ideone.com/0CUPkP

15行目のHTTPErrorの部分でpylintで以下のエラーが出ます。
E0701:Bad except clauses order (URLError is an ancestor class of HTTPError)
何がいけないんでしょうか?
2018/06/25(月) 21:07:26.23ID:loJfcRLV
>>342
URLErrorはHTTPErrorの基底クラスなのでexcept句を並記しても分離できませんよという親切なご忠告。
2018/06/25(月) 21:08:24.10ID:IGovl2eG
>>342
自己レス

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

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

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

>>361
ググったけどよくわかんなかったです
キーワードから察するにIDLEはプログラム内で設定された値を保持できるみたいなことだと思いますが…
あとちょっと嘘ついてました
IDLEは文字が多くなるとすぐ重くなるので使ってません
コマンドプロンプトのインタラクティブシェルで実験しながらプログラムを作ってます
2018/06/26(火) 14:16:48.58ID:xYarJXzO
始めてjupyterlab使ったけど便利すぎて泣けてきた
2018/06/26(火) 15:08:43.55ID:VfyrMZUM
>>362
それpycharmとIDLEで使ってるインタプリタが違うからモジュールをインポートできないんだよ
パイチャーム難しいならスパイダーとか簡単なんじゃないか?使ったことないが
2018/06/26(火) 15:15:11.62ID:Pch/7s9D
vscodeでもええで、pyCharmほどしっかりはしてないが、勉強目的なら十分いける
2018/06/26(火) 15:17:14.47ID:Pch/7s9D
編集だけならemediterとかでもいいか
2018/06/26(火) 15:22:12.30ID:1/94qv1z
それは逆
プロダクションならPythonだけで完結するケースは稀だからVSCodeになる
2018/06/26(火) 15:29:31.42ID:+kZBpvme
「勉強目的なら」が見えないのかね。
プロダクションとかアホか。
2018/06/26(火) 15:36:33.89ID:aQBGrrs7
とりあえず当初の問題は自己解決しました
py -i script.py
でスクリプトを読み込んだあとインタラクティブシェルに移行できました
エディタについては今後じっくり検討します。ありがとうございました
2018/06/26(火) 15:38:16.69ID:1/94qv1z
>>368
まるでpyCharmが本格的な開発用でvscodeは勉強くらいにしか使えない玩具ととられかねないような書き方だったから訂正したんだよ
2018/06/26(火) 17:05:10.11ID:NgTyc+4S
プログラマーはなぜイキりがちなんだろうな
最初は穏やかな人でもプログラミング学ぶと性格変わったりしてな…
2018/06/26(火) 19:35:21.10ID:PI8We1ew
できたから、お前らにやるよw
https://ideone.com/17Mt4u
2018/06/26(火) 19:40:33.59ID:ouGSlrDx
穏やかな心を持ち、
怒りによって目覚めた。
374デフォルトの名無しさん
垢版 |
2018/06/27(水) 02:56:08.57ID:+x1q6XeE
すべての言語で無料の、vscode だろ

JetBrains の、WebStorm, PhpStorm, PyCharm, RubyMine はプロ用
2018/06/27(水) 07:55:32.89ID:0PR31v28
PyCharmなんか元々金になってるとは思えないからVSCodeに取られようが影響ないだろうけど、
VSCodeはJetBrainsの総本山のJavaすら取り込み始めてるからなあ
PyCharm愛用者もそろそろ次を考えとかないといきなり会社ごと消滅するかもね
2018/06/27(水) 08:08:38.95ID:4g2i7olQ
VSCodeちゃんだいすき
2018/06/27(水) 18:27:52.01ID:joyJ67qD
>>369
ipythonも調べると幸せになれるかもしれない
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なので + を使うと表示させたいです、エラーになってしまいます。
いい方法教えて欲しいです。
2018/06/28(木) 04:52:31.67ID:4JHdG6Y6
> このように書くと、22行目の '(' と ')' はstrでsabunはintなので + を使うと表示させたいです、エラーになってしまいます。

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

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

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

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

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

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

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

ウィンドウズだから?charmが最新で対応してないとか?
ファイルが長すぎてちゃんと解凍出来てないとかか
2018/06/28(木) 13:38:03.88ID:+eSAzLp6
ここは日記をかくスレではありません。
2018/06/28(木) 13:58:43.91ID:VtmU26z1
俺の発言は日記なのv?
2018/06/28(木) 16:26:49.17ID:i0J9pp48
そうだけど
2018/06/28(木) 20:00:48.37ID:28rqC3aA
>>389
日本語化後は環境によっては管理者として起動しないと起動してくれんかったな
2018/06/28(木) 22:51:58.58ID:gXb2cKg6
https://ideone.com/KXbDmh

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

clickのサブコマンドとオプションを併用して以下のようになるようにオプションを付ける方法教えてください
$ ./prog.py english --name masao
Hello, masao!
2018/06/28(木) 23:57:50.64ID:gXb2cKg6
>>394
https://ideone.com/F6Y5AM

こう書く事で、
$ ./prog.py english ―name masao
Hello, masao!
に出来たんですが、ヘルプの項目が表示されませんでした。
間違えていますか?
396デフォルトの名無しさん
垢版 |
2018/06/29(金) 12:49:54.66ID:AheYOSRK
はい
397デフォルトの名無しさん
垢版 |
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
2018/06/29(金) 21:20:04.53ID:LH/w1+b2
>>397
httpじゃなくてhttps://python.org/にしてみたら
399デフォルトの名無しさん
垢版 |
2018/06/29(金) 21:33:53.19ID:1XSLHtbi
やってみましたが固まります。
http://www.yahoo.co.jp/ だと固まりません。
http://www.goole.co.jp/ は固まります。
それで試しにtimeoutを設定してみたらタイムアウト後に返って来て
html = response.read() で読み込んだらすべて読み込まれます。
400デフォルトの名無しさん
垢版 |
2018/06/29(金) 23:02:44.91ID:BOFwPCmn
あー中日美しい
2018/06/29(金) 23:52:41.97ID:3ACYVk4m
ラジオで現在放送中の番組情報が書かれてあるjsonをwebから取得して必要な情報だけを標準出力に出力するスクリプトを書きました。
requestsとjsonを使いました。
jsonには次の番組の開始時間もかかれてあるので、スクリプトを実行するとまず現在放送されている番組情報を表示してそのまま待機、次の時間時間が来るとjsonを再取得してまた標準出力に出力する〜を繰り返すスクリプトを書きたいんですが、どんな方法がありますか?
番組情報を表示する関数はprint_noa、次の番組の開始時間を取得する関数はget_next_timeとしました。
漠然とforとsleepを使うのかなと思っています?
よろしくお願いします。
2018/06/30(土) 00:08:00.65ID:3Ww0WFPX
>>399
urllib2.Request()を使って headersでUAとリファラとかを渡してみたら?
まぁ、そんなことしなくても、>>397で普通にレスが帰ってくるけどねぇ。

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

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

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

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

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

でも、時間クラスを使って、OS から時間を教えてもらえば、できる
413401
垢版 |
2018/06/30(土) 01:10:16.93ID:i9q8wfr8
>>412
詳しく知りたいです。
https://ideone.com/FEcZrG

NGワードだと言われたのでそこにレス内容を書きました。
414404
垢版 |
2018/06/30(土) 01:32:24.16ID:tr0WXiW5
Ruby では、Time クラスで、
OS から時刻を教えてもらったり、時刻同士の差を求めたりできる

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

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

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

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

https://ideone.com/j2WbQc

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

待ち時間だけ、sleep

現在時刻を取得して、次の番組開始時刻以降になっていたら、処理する
2018/06/30(土) 08:23:44.34ID:yaCLVjK3
>>414
どうしてrubyの解説をするんですか?
rubyでは、って書かないと死んじゃうんですか?
2018/06/30(土) 09:22:55.43ID:TO1NZe4M
発達障害にそんなキツく当たるなよ
420デフォルトの名無しさん
垢版 |
2018/06/30(土) 10:12:01.97ID:xZj/2lQZ
>>402
windowsだとできるので環境の問題だと思うのですが
自分には見当がつきません
2018/06/30(土) 11:32:40.83ID:BB0BPsjY
>>414
pythonでのやり方知らない/書けないなら黙っててくんない?情報量ゼロのゴミノイズだから。
2018/06/30(土) 11:33:30.26ID:6ip4g6CI
>>420
あなたのlinux環境はみんなわからないから答えようがないのでは。winで出来るならwinで出来てる環境にlinux側を寄せてみては?
2018/06/30(土) 11:34:18.66ID:D/Xk9P7S
とりあえず仕返しにrubyスレ荒らそうぜ
http://mevius.5ch.net/test/read.cgi/tech/1523954817/
2018/06/30(土) 12:49:02.93ID:xZj/2lQZ
>>422
環境は
>>397
です
2018/06/30(土) 13:35:51.42ID:leKYQSgL
>>419
やめたれw
2018/06/30(土) 14:19:31.69ID:yR8hvpGX
https://www.sejuku.net/blog/23716
>yieldを含む関数はジェネレータになります。

http://note.crohaco.net/2016/python-iterator-generator-and-tshirt-me/
>「関数がジェネレータ」ではなく、関数によって返ってきたものが ジェネレータ です。ご注意ください。

どっちが正しいんでしょうか?
2018/06/30(土) 14:26:53.72ID:aCiKtI2A
下はハズレ
上は十分条件だけど必要条件ではない

https://docs.python.org/3/glossary.html#term-generator
>generator
>A function which returns a generator iterator.
>ジェネレータ
>ジェネレータイテレータを返す関数
2018/06/30(土) 14:27:46.00ID:aCiKtI2A
というわけで厳密にはどちらも正しくない
2018/06/30(土) 14:34:33.33ID:+7yWvOia
>>426
関数がジェネレータの定義
その戻り値はジェネレータのインスタンス
クラスとインスタンスの関係に相当する
ヘビという概念と実際にお前の背後にいるヘビの関係のようなもので、どちらが正しいということはない
2018/06/30(土) 14:42:17.36ID:hB6thL97
その用語集にも書いてあるがジェネレータという単語は両方の意味で使われるので文脈次第
ただ日本語圏ではジェネレータイテレータを指す方が逆に一般的ではないかと思わなくもない
ジェネレータ関数もfunctionだし、返ってくるのはgenerator objectだしでね

そこらの解説で雰囲気を掴むのは良いが、独自解釈も少なくないので公式ドキュメントを読みましょう
2018/06/30(土) 17:54:56.10ID:yR8hvpGX
>>427-430
ふむふむ、よくわかりました。ありがとうございます
2018/06/30(土) 19:18:34.03ID:xZj/2lQZ
>>397はIPv6が原因が原因でした。
2018/06/30(土) 19:50:32.69ID:6Zb2e+Cq
ipv6でそういう挙動不審になるのかコエー
434デフォルトの名無しさん
垢版 |
2018/06/30(土) 21:01:27.46ID:F/jI374V
python.orgが過負荷になってただけだと思う
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です
2018/07/01(日) 01:58:05.90ID:yvAP64+y
>>435
参考にしたサイトに聞け
2018/07/01(日) 03:58:29.82ID:xZESdcdb
3.7に対応していない?
2018/07/01(日) 07:52:54.30ID:KMROIkKi
たぶんそう
Python3.6に対応するのにも10ヶ月くらいかけてたからね
来年春頃にチャレンジしてくれたまえ
2018/07/01(日) 09:45:24.69ID:HXukxj3q
>>435
『PyInstaller works with Python 2.7 and 3.3—3.6』

↑オフィシャルウェブサイトのトップページに書いてる
2018/07/01(日) 09:55:00.54ID:usR85dqh
参考にしたサイトに聞けとは言わないまでも
どこを参考にしたのかは書けよ
Qiitaだったら死刑
2018/07/01(日) 10:14:27.87ID:wtxZXieP
メインメニューから、
Visual Studio 2017
VS 2017 用 x64 Native Tools コマンド


で、打ち込んだら行けそうだとは思う。
いや、知らんけど。
442デフォルトの名無しさん
垢版 |
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
2018/07/01(日) 13:40:19.19ID:abAuXWnK
CUDAはNVIDIAのグラボが必要だけど、それはわかってる?
2018/07/01(日) 13:43:41.63ID:blR+9qab
>>435
解決しました
Pythonを3.6.5にしてsetuptoolsをダウングレードしました
ありがとうございました
2018/07/01(日) 18:18:13.94ID:wiRhXH6B
>>442
おわちぇいな
2018/07/02(月) 07:51:12.76ID:9wGdj7CA
CUDA とは、NVIDIAが開発・提供している、
GPU向けの汎用並列コンピューティングプラットフォーム(並列コンピューティングアーキテクチャ)
およびプログラミングモデルである

こんなもの、10年以上のベテランがやるものだろw
2018/07/02(月) 11:12:23.11ID:h1vNIHyU
os.renameでファイルを移動する際に移動先のフォルダがなかった場合、
フォルダを作って移動してくれる場合と、
移動に失敗する(フォルダを手動で作れば移動してくれる)場合があるんですけど
なんでそうなるのかわかりません
2018/07/02(月) 11:58:45.72ID:CAf9ocjr
>>388
亀だけどワイもVSCode押しとく
Macだったらターミナルのvim
2018/07/02(月) 12:47:13.81ID:lZblgvr/
ファッキンビチグソeclipseを捨てて乗り換えるならVSCodeだろうな
eclipseのように(というのもおこがましいほどにeclipseより遥かに手軽で軽量で安全で高度だが)プラグイン入れれば何にでも対応できるし、
一緒にJavaをちょっと編集したくなったときもe糞プスを起動しなくてもVSCodeのままでそこそこいける
2018/07/02(月) 12:49:14.01ID:BcUDQh/y
IDEからエディタに乗り換え?
そこは同じIDEのVSじゃないの?
2018/07/02(月) 13:00:11.52ID:lZblgvr/
eclipseのゴミのようなクォリティでIDEと呼んでいいんならVSCodeは十分にIDEとしての機能性を備えてるよ
DBエディタのように、コードを超えたインターフェースもあるし
2018/07/02(月) 14:31:17.41ID:eMVFPvKk
先週からpydroid3触り始めたけど、PyQt5まで動いてびっくりした。
画面の関係で、全く同じフィーリングという訳にはいかないけど、ウィンドウのレイアウトさえ修正すれば
パソコンのPyQtアプリがそのまま動きそう。
母艦がXubuntuでスマホがAndoridのマイノリティな俺だけど、Andoridパッド衝動買いしちゃいそう。
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行出るのではないんですか
2018/07/02(月) 21:44:40.11ID:TJD/4INa
[)
2018/07/03(火) 08:01:32.39ID:6Spyoog5
>>453
「食器棚に入ってるお皿を左から2枚もってきて」
って言われたら3枚もってこないだろ?そういうことだよ
2018/07/03(火) 09:21:22.99ID:LOADhL/p
違うよ半開区間
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()
2018/07/03(火) 11:04:40.79ID:syKRmC4v
名前空間だから、実際の要素では無いのか。
[遊園地の]解釈自体が間違えてるかも知れないようから、
区画ソートをできる人に聞いてくれ。
2018/07/03(火) 11:12:44.04ID:EG+Srxkj
(,a,b,c,d,)
「,」の部分を数える
[0:2]だったら前から0番目の「,」と2番目の「,」の間の区間(a,b)
2018/07/03(火) 12:34:53.41ID:RGWVubcd
>>455
その説明では[0:2]の2は要素数を示すことになってしまうから説明として正しくない。
「食器棚に入ってるお皿をいちばん左から3枚目の手前までもってきて」が正しい表現かな。

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

俺含めおっさんプログラマに後者な言語を見せると発狂して死んでしまうので注意。
2018/07/03(火) 12:43:31.15ID:OVTJrzKJ
※basicプログラマを除く
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が含まれない
464453
垢版 |
2018/07/03(火) 15:12:44.88ID:+Y7+qb84
ありがとうございます!
2018/07/03(火) 15:28:12.44ID:RGWVubcd
>>463
へぇ、そうなんだ。知らなかった。

それにしてもrubyを愛してるんだな、お前.....スカトロ?
2018/07/03(火) 16:10:15.77ID:syKRmC4v
どこの板でも5ch共通点は
1.絶対に他人を褒めない。
2.煽りが尋常じゃない。
3.初心者へ謎の解説

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


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

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

>>442です
ありがとうございます!
ド素人が使えるやつじゃないのですね…
素人が使えるようにしろよ!ふざけんなふざけんな作者って気持ちです
ここでも話題に上がってるようにエクリプスとか統合開発環境突っ込んでやってやります!
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
2018/07/03(火) 18:32:16.07ID:HI6Z9dZ+
自己解決しました
Cookieをエクスポートするフォーマットをsemicolon形式にして
出力されたテキストを置換して
cookie=dict(aaa="123",bbb="234") みたいにやったらうまくいきました
2018/07/03(火) 19:34:26.23ID:h3bXkokL
お前は見込みありだな
2018/07/03(火) 20:15:04.43ID:0rbKYYHZ
テキストファイルの末尾から10行を表示したいのだけど
どうやればいいのか全くわからない
テキストが数百ギガバイトあるため、全部リストにぶち込むとかは無理
2018/07/03(火) 20:39:09.05ID:BhHhKgjH
一回目で先頭から末尾まで行数を数えて二回目で行数-10だけ飛ばす
collection.dequeをmaxlen=10にして全行appendする
tailコマンドを使う

どれでもどうぞ
2018/07/03(火) 23:34:13.28ID:9ONgpSq2
tailコマンドのソース見てpythonで書き直せばいい
車輪の再発明バンザイ
2018/07/04(水) 00:33:23.52ID:OxUMeZjO
Ruby では、IO クラスの、

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

io.pos, io.seek で、ファイルポインタも移動できる
2018/07/04(水) 00:54:54.87ID:MQVza7QA
いや逆に今日日できない言語なんてないからオワコンくそ言語は黙ってろ
2018/07/04(水) 05:16:53.53ID:lYpq3kCa
こういうやり取りを見てるとプログラムを書くってのは面白いなと思う、人それぞれなんだよな
2018/07/04(水) 10:55:45.46ID:v2Sox3dI
>>475
ガイジやぞ配慮しろや
2018/07/04(水) 11:00:47.00ID:NOHgpGJH
>>471
ちょっと搦手かも知れないけど、やっぱりめんどくさいから俺もtailコマンド使うかな?

>>> import subprocess
>>> ret=subprocess.check_output(['tail','-n10','theFile.txt'])
2018/07/04(水) 11:11:38.06ID:yPKihq8f
osコマンドちゃんはポータビリティが無いね
2018/07/04(水) 11:14:13.25ID:NOHgpGJH
>>479
そだな。ごめん。お目汚しをしてしまって忝ない。
2018/07/04(水) 12:22:02.07ID:4DkGM1mz
>>476
一つ言える事は俺たちがクソやからそうなるだけで
賢い人達のプログラムにはここまで多様性はない
2018/07/04(水) 13:23:29.16ID:xdX5HHps
python初心者です、環境について教えてください
VSCodeとPyCharmだとどちらがおすすめでしょうか?
また、Windowsで他におすすめありますか?
クレクレですみません
2018/07/04(水) 13:28:50.36ID:FWEPDL49
pythonオンリーならpycharm
2018/07/04(水) 13:46:15.41ID:sK+g9tr5
PyCharmは高価な有償製品なので無償で使える機能には制限がある
無料でプラグイン入れてカスタマイズしたいならVSCode
無料でWeb開発したいならVSCode
2018/07/04(水) 14:04:48.83ID:NOHgpGJH
>>482
Geany使ってたけどWinにもある? 最近VSCodeに乗り換えました。
手軽にカスタマイズするならSciteもいいかも(Geanyの前に使ってた)。

Atomも最近はやってるらしいけど、挫折しました、てへ。
486デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:51:27.72ID:gFgZc5FG
U54
487デフォルトの名無しさん
垢版 |
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つのコアそれぞれにやらせようとすると、どう対処したら良いのかわからないのですが、
こういう場合に良いやり方はあるのでしょうか?
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
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)
490デフォルトの名無しさん
垢版 |
2018/07/04(水) 23:39:57.98ID:ng+0N/IT
>>488
>>489
ありがとうございます。
まだすぐには理解できませんが、
理解できるまで記述いただいた内容や公式リンクをよく勉強します。
2018/07/05(木) 00:09:26.59ID:T0L/NWDK
>>482
本格的とはいえないけど、
PyScripterはとにかく軽くていい。
エディター部分が少し弱い気もするけど、
一応IDEらしいことができるし、重宝してる。
2018/07/05(木) 00:29:08.60ID:bmLXPWlv
Pyscripterは何となく好きだね俺も
2018/07/05(木) 07:49:19.54ID:mzJZAR0W
>>482
皆さん沢山レスくださりありがとうございました
是非参考にさせていただきます
2018/07/05(木) 07:49:36.51ID:mzJZAR0W
すみません、482です、、
2018/07/05(木) 08:53:00.24ID:2ipvgkm7
>>487
makefile書いてmake -j4でいいよ
496デフォルトの名無しさん
垢版 |
2018/07/05(木) 11:42:30.52ID:IcGtf/nv
ageてみる
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.
2018/07/06(金) 22:37:56.41ID:sIOuXx+P
SyntaxError: inconsistent use of tabs and spaces in indentation

このエラーの通りだろ
インデントに タブ と スペース が混在している
2018/07/06(金) 22:45:14.64ID:djSUxyRU
>>497
インデントが矛盾してますってエラーなんだけど注意して見てみたら?
2018/07/07(土) 07:57:30.60ID:5M0gbfiH
elif の前のスペースが余計なんだろう
2018/07/07(土) 09:46:01.38ID:7kPpsH+C
前から思ってたけど、文頭の空白が削除されて2ちゃんはPython向けじゃないなぁと...。
専ブラなら大丈夫なんすか?
2018/07/07(土) 10:00:59.73ID:pa4NPo43
コードが崩れるからideoneとか投稿して貼れと>>1に書いてあったと思ったが
誰か消したのか
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以降に移したのかも知らんが…)
とりあえず次スレ立てる人は復活してほしいな
2018/07/07(土) 19:52:21.38ID:MYwzU1cJ
まぁ、スペース4つを全角スペースに置換してここに貼ればいいだけなんだけどな。
2018/07/07(土) 19:55:22.68ID:MYwzU1cJ
ところで、

if hoge == 1: #数値

if hoge == '1' #数字
では、どちらが速いんだ?
2018/07/07(土) 21:12:18.72ID:cKmJS2is
後者は2文字分余計にパース時間がかかるし、文字列の最後まで比較が完了したかチェックが必要なので、理論的には前者が早いが、
ボトルネックを調べるまではそんなこと気にしても意味がない。
2018/07/07(土) 21:25:55.58ID:uPjfR+41
早まった最適化はなんちゃら
2018/07/07(土) 21:37:07.13ID:P+j3/coi
>>505
それぞれを1000万回繰り返すコードを書いて
開始時間と終了時間を測ればいいんじゃね
2018/07/08(日) 05:02:05.68ID:HGazO2t1
>>498,499ff,500

ありがとうございます。

pythionのIDELなのですが
設定でタブを2にしても4にしても、なぜか下の段の
インデントは8位になり、うまくいきません。
2018/07/08(日) 09:26:29.76ID:IpE2RaFM
>>509
IDLEはめんどうだから
anaconda入れてjupyter notebook
または
google colab使おう
2018/07/08(日) 10:09:18.79ID:s1BUSJNi
vim
2018/07/08(日) 10:51:27.91ID:HGazO2t1
>>510
環境作るのが大変かも。サンキュー
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)
2018/07/08(日) 19:12:48.21ID:FXqCe1Jq
>>513
調べてくれてありがとう。
変数名の長さについては予想通りの結果ではあるんだけど、
数値と数字の差がそれ以上に大きかった(前者が平均でおよそ6.5%速い)ということに驚いた。
2018/07/08(日) 19:47:51.32ID:7IyBQLqQ
VBAをそれなりに使えるようになったからPython始めてみたいんだが、やっぱり全然難しい?
VBAの難易度を10としたらPythonはどのくらい?

あと、この関数はVBAで言ったらコレ!みたいな早見表みたいのないよね?
2018/07/08(日) 19:49:50.48ID:nzHBwQiZ
なにをしたいかによるが
5くらいじゃね?w

ないよ
2018/07/08(日) 22:16:58.63ID:9FsG7rKp
>>515
既にVBAを使えるなら簡単だよ
くどい型宣言、配列のみの貧弱なデータ構造といった
VBAの使いづらい点が、Pythonでは全て解決されている

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


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

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

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

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

これをPDF自動で開かせてコピーペーストしてVBAを動かす、、までPythonでやりたいのですが、可能でしょうか?
2018/07/09(月) 06:55:58.69ID:wOPKveTX
>>522
今流行りのRPA導入したら?
悪いけどPythonには不向きなタスク
2018/07/09(月) 09:02:54.85ID:rKnQV5/G
課題解決において、本当に優れたソリューションは有効性や実現性だけでなく応用性・永続性・再現性を備えている
・PDFのフォーマットが変わったらどうするのか?
・自分が今の仕事から離れたらどうするのか?
・他の業務にも広く展開できないか?
Pythonで他の誰にも分からないもの作るより、522が率先してRPA入れて展開したほうが遥かに522は評価される
そういう思考と行動ができればCIOにだってなれるぞ
2018/07/09(月) 09:03:41.22ID:C9JH0M1I
普通ににPythonのRPAフレームワークあるが…
2018/07/09(月) 09:27:08.40ID:SXUnnQWd
>>522
可能だと思う
2018/07/09(月) 10:49:26.70ID:H6u5Fx+k
うんこ漏らしながら、、答えると

  PDFMiner.six

使え。
2018/07/09(月) 11:17:28.05ID:H6u5Fx+k
すっ、すいません。
先程まで咥えてたボっぼくのおちんぽっぽ知りませんか?
トイレに行ったら、どこに行ったか分かりません。

コンピューターの未来予測で解決して下さいwww
https://eurekalert.org/multimedia/pub/173001.php
529522
垢版 |
2018/07/09(月) 12:44:00.66ID:pU5gW32k
皆さん、回答ありがとうございます。
もう少し自分の方で調べてから、再度質問させて頂きます。
530デフォルトの名無しさん
垢版 |
2018/07/09(月) 16:14:02.89ID:OMEWQnbN
これヤバシング
https://goo.gl/uAcy7u
531デフォルトの名無しさん
垢版 |
2018/07/09(月) 19:05:37.08ID:H6u5Fx+k
>>530
マジでやばいな
ウィルスだらけで、PC壊れた。

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

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

マッチオブジェクトを返すってなんだよ使いにくいなぁと思ってたけど
使い方を知ったらなかなか便利だと感心した
2018/07/14(土) 18:08:46.03ID:bBAel3cq
そういえばGuidoがBDFL辞めるらしいな
PEP572関係でdisられたのが原因らしいが、ML追っかけてないからよく分からん
まあ、辞めたところで何がどうなることもないと思うがね
2018/07/14(土) 19:10:27.49ID:p9pW3bxe
>>539
>使い方を知ったら
正しくない使い方だろ…
使い捨てスクリプトだろうから止めないけど
2018/07/14(土) 19:25:32.29ID:lqSDAnIa
>>539
オブジェクトなんだからメソッドあるだろうよ
ちゃんと説明は読もうな
2018/07/14(土) 19:27:46.25ID:wb5ySS54
>>541
俺もずっとこの使い方してたけどどこがまずいのか教えて
2018/07/14(土) 19:39:05.18ID:pZ9+lrqM
>>534
sortに対するsortedのつもりで、reverseに対するreversedを使おうとするとハマる。
こちらはイテレータを返すので、もう一度リスト化しないと同じにならない。
2018/07/14(土) 22:22:07.13ID:zjgvls6Z
>>543
たぶん以下のように正規表現パターンをコンパイルして使えってことだと思う
同じパターンで繰り返し何度も検索する時に速度的に有利・・・らしいが
これを使わないのは正しくない、というのは言い過ぎ

txt="123456"
r = re.compile("12(.*?)56")
mat = r.search(txt).group(1)
2018/07/14(土) 22:41:15.08ID:9E/kCsBf
>>543
searchでヒットしなかった場合Noneが返ってきて
groupメソッドなんて知らないって怒られる
2018/07/14(土) 22:50:33.19ID:wb5ySS54
>>545
ちょっと説得力が弱いような…

>>546
そういう意味なら納得です
2018/07/14(土) 22:54:34.71ID:iQdsrGNN
>>546
例外処理したらええんちゃうの
2018/07/14(土) 23:25:04.26ID:RwYVNvZ5
>>548
だよなあ
くだすれの質問コードにどんだけ厳格さを要求するんだか
2018/07/14(土) 23:27:08.84ID:/GhuOfpQ
>>548
ミスマッチの結果、二次的に発生した例外を捕まえてエラーハンドリングするのは意図が伝わりにくいしピタゴラスイッチかよって気がする
2018/07/14(土) 23:36:28.34ID:pZ9+lrqM
そのままsearchして(この時点で例外とはならない)、
try-catchでgroup(1)すればいいのでは?
2018/07/15(日) 01:12:03.97ID:WCfEKFtx
製品のプルリクに入ってたら直せって言うけど
個人のコードだったらどうでもいいわ
2018/07/15(日) 02:24:18.06ID:oGr67yTf
>>551
いや普通に戻り値チェックしてください…
match = re.search(pat, text)
if match:
. s = match.group(1)
2018/07/15(日) 08:37:24.40ID:MaWYhEE+
webスクレイピングは、サイトの仕様変更である日突然マッチしなくなる可能性があるけど
それを想定して例外処理を作っとくのは面倒だし、作り忘れが発生する可能性も高いから
あえて>539のやり方を使って、エラーで止まるようにしたほうがわかりやすいかもしれん
2018/07/15(日) 08:50:29.23ID:BpM21w6A
仕様変更なのか
一時的な障害なのか
たまたまエラーになるデータだったのか
他の理由なのか

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

>>556教えたくないなら教えなければいい義務ではないのだから
560デフォルトの名無しさん
垢版 |
2018/07/15(日) 14:49:01.29ID:SyiaUNYr
Optional type hintつかえや
2018/07/15(日) 14:52:56.10ID:ULhjy0aZ
>>559
間違っている箇所(戻り値チェック)を直せば、「間違った方法ではない」のは当たり前ですけどね…
2018/07/15(日) 15:59:51.01ID:mOOR+1Qr
def func():
a,b=・・・
return a,b
の戻り値aだけが欲しい時にa=func()[0]などとせずa=func()だけで可能にする方法ある?
2018/07/15(日) 16:00:25.25ID:wK+4T5k7
(´・ω・`) あやまって?
2018/07/15(日) 16:01:15.26ID:wK+4T5k7
>>562
あるわけないじゃん
ハハハ
2018/07/15(日) 16:10:39.17ID:GnA/ld69
この手の質問たまに見るけどなぜそう言うことをしたいのかいつもわからん
2018/07/15(日) 16:13:07.59ID:LnWCwVdC
>>562
デコればいいんじゃない?
2018/07/15(日) 16:37:39.67ID:+eT7t0LR
>>562
def func():
a,b=・・・
return a
2018/07/15(日) 16:58:39.39ID:JvvU9qo5
>>565
matlabだとそれができるから、matlabから来た人は重要な戻り値を先頭にしてたまにだけ欲しい戻り値を後ろに書きたくなる
pythonでそれ同じようにすると、a,_=func()とかa=func()[0]とか書かなきゃならないのを忘れてどこかでエラー出ることが頻繁に発生する
2018/07/15(日) 17:01:56.80ID:0QdlwMDB
>>567
俺もそれ思ったけど、質問者の意図はreturn a,bとした上でaだけ返すって意味みたい。
なんでそんなことしたいかは分からんけど
2018/07/15(日) 17:02:41.94ID:0QdlwMDB
>>568
へえ!
571デフォルトの名無しさん
垢版 |
2018/07/15(日) 17:21:18.42ID:z9dis41F
>>539
None で Exception 出ないか?
572デフォルトの名無しさん
垢版 |
2018/07/15(日) 17:27:59.50ID:z9dis41F
yeald a, b
573デフォルトの名無しさん
垢版 |
2018/07/15(日) 17:29:17.38ID:z9dis41F
ああ違うか
yeald a
yeald b
ydald c
...
2018/07/15(日) 17:37:09.40ID:GnA/ld69
>>568
そのために
> a=func()だけで可能
なんてされたら迷惑だよ
自分だけで使うと言うならPythonの処理系弄ればいいと思うよ
2018/07/15(日) 17:38:06.11ID:GnA/ld69
>>571
>>546
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)

結果は同じになるけど、
オブジェクトにするかしないかで、細かい違いはどういうところで出てくるの?
577576
垢版 |
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)
2018/07/15(日) 17:53:05.48ID:4uGjQYdk
知ってるけど義務じゃないし教えない
2018/07/15(日) 18:03:01.01ID:raVPXb0K
>>578
じゃあ書き込むなよ。
沸点低すぎだわ。面倒くせ

>>576
読んで字の如くコンパイルされるので高速化が期待できる。
2018/07/15(日) 18:19:16.85ID:4uGjQYdk
>>597
コンパイルされるから高速化ぁ?
それじゃ説明になってないんだよボケ
2018/07/15(日) 18:23:05.65ID:chucpUaP
>>580
答えないんだから書き込まなくていいって。ROMに徹してなよ。
2018/07/15(日) 18:25:29.22ID:4uGjQYdk
>>545に答え書いてるだろうが日本語読めないのか?
2018/07/15(日) 18:27:40.61ID:chucpUaP
>>576
ここに答えが書いてあるよ
https://docs.python.jp/3/library/re.html#re.compile
2018/07/15(日) 18:28:14.27ID:IXGJsf34
>>581
今日限りでこんな所ROMすらしなくなるから安心しろ
2018/07/15(日) 18:29:36.91ID:wK+4T5k7
煽られて反応するのは方向性が違うだけで、沸点の低さについては同レベル
2018/07/15(日) 18:30:02.56ID:chucpUaP
>>583
本当は答えたくて仕方がないんだね。
2018/07/15(日) 18:30:50.94ID:+eT7t0LR
めでたい。良いことありそう
588576
垢版 |
2018/07/15(日) 20:52:52.55ID:lEsxGLKr
>>579,>>583
やはりオブジェクトにコンパイルすると効率が上がるという点が全てみたいだね。
あとは、コンパイルのコストとの比較になるのかな。
2018/07/15(日) 21:49:35.18ID:cDGgo13V
>>588
コンパイルて言いたいだけやな。オブジェクトの理解もあやふやそうだ。
どっちも正規表現オブジェクトにコンパイルされてるよ。明示的か暗黙かの違いはあるけど。
↓が詳しいよ。
https://docs.python.org/ja/3.7/howto/regex.html
2018/07/15(日) 21:58:34.41ID:+eT7t0LR
「今度の大型案件はコンパイルで〜」
「お宅もですか?実は弊社もコンパイルを〜」
「最近はコンパイルがないと始まりませんな〜」
「今度入った新人、若いくせにコンパイルも知らないと〜」
591576
垢版 |
2018/07/15(日) 22:43:17.00ID:lEsxGLKr
>>589
> どっちも正規表現オブジェクトにコンパイルされてるよ。明示的か暗黙かの違いはあるけど。
つまり、
r1はJavaScriptでいうところのRegExp() コンストラクタ(var r1 = new RegExp("12(.*?)56");)、
r2は同じく正規表現リテラル(var r2 = /"12(.*?)56"/;)と同じ、という考え方でいいのかな。
たしかにどちらもコンパイルと言ってた。

ということは、件のコードに効率には大きな違いはない、
ひいてはどちらを使っても構わない、
ということでいいの?
JavaScriptではリテラルのほうが速いとされているんだけど。
592576
垢版 |
2018/07/15(日) 22:53:44.08ID:lEsxGLKr
失礼、コピペで余計なクォートを入れちゃった。
正規表現リテラルは、var r2 = /12(.*?)56/; ですね。
2018/07/15(日) 23:39:12.09ID:cDGgo13V
r1もr2もいっしょ。
r2は内部でr1と同じ事やってメソッド呼んでるだけ。
ソース見たら一目瞭然。
https://github.com/python/cpython/blob/master/Lib/re.py

jsはリテラルの場合はプログラムロード時にコンパイルされて、
コンストラクタ使った時は実行時にコンパイルされるからリテラルの方が速い。
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)
2018/07/16(月) 06:30:22.35ID:XBIjWYki
>>591
> ということは、件のコードに効率には大きな違いはない、
そうだよ
1回しかやらないならね

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

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

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

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

勉強になりました。
レスしてくれた方々、どうもありがとう。
603デフォルトの名無しさん
垢版 |
2018/07/17(火) 14:45:03.69ID:+kxKOOfA
どうみても R1 の方が判りやすい
2018/07/17(火) 15:03:34.17ID:BuEnlPhn
D2
605デフォルトの名無しさん
垢版 |
2018/07/17(火) 16:06:12.89ID:37glYQle
>>603
Rは遅い。
606デフォルトの名無しさん
垢版 |
2018/07/18(水) 21:43:08.13ID:MvYBetm/
anacondaでspyderをupdateする方法が分かる人おる?
ちな、「conda update spyder」という理屈も分からない魔法の言葉はとりま試してみたけどダメだった
607デフォルトの名無しさん
垢版 |
2018/07/18(水) 21:44:24.37ID:b18bN/MZ
$ python3 -m pip install -U discord.py
でdiscord.pyというパッケージ?をダウンロードしましょうという記事がありました
パッケージをダウンロードするなら
$ pip install disord.py
でいいのではないでしょうか?
-mや-Uは何のためについているのですか?
2018/07/19(木) 07:19:44.95ID:YpRGm32q
どう考えても5chに文章書いて聞くよりも
ググる方が簡単に答えが見つかるのですが
この事についてどう思ってるのでしょうか
2018/07/19(木) 07:53:50.41ID:iuCKWNUm
>>608
今の検索システムは役に立たない個人ブログとかまとめとかが
大量に引っかかって、ほんとに知りたい情報を探すのが大変だからな
2chでズバリ聞く方が簡単
2018/07/19(木) 08:23:52.76ID:YpRGm32q
このスレに質問してくる人のメンタルが判って良かったです
なるほど、そういう考え方をしてるのですね
2018/07/19(木) 10:33:46.32ID:GcKjBxt+
>>610
>>1も読めないバカのメンタルが分かって良かったです
612デフォルトの名無しさん
垢版 |
2018/07/19(木) 11:55:10.27ID:GcKjBxt+
>>609
検索して見つけたブログ等の記事は一方通行だからね
わからないことがあったときに5chで質問するのは何もおかしいことじゃない
2018/07/19(木) 12:08:30.09ID:80QZXXW9
調べる能力の低さを正当化されても困る
2018/07/19(木) 14:55:03.77ID:UahdGL5C
しゃーない
切り替えてこ
2018/07/19(木) 21:38:51.56ID:NlyKZRek
英語で検索しても出てこない情報がここであっさり見つかることもあるわけで
わりと機能しているスレなんだけどな
2018/07/19(木) 21:52:44.66ID:QlKeHbXC
お前の英語が間違ってるだけだぞ
2018/07/19(木) 23:33:17.16ID:OqKdLDhg
文章にして聞けるから検索力の低い俺は割と助かる
terateil行けやって言われそうだけど
2018/07/20(金) 01:40:08.76ID:TItVS2qR
煽りや罵倒に耐えられればみんな結構優しい
619デフォルトの名無しさん
垢版 |
2018/07/20(金) 06:57:38.20ID:rKy0rX9W
バカとオタクは使いよう
2018/07/20(金) 08:31:21.19ID:CYxMXjWj
Stack Overflowで聞いた方が絶対良いでしょ
2018/07/20(金) 09:31:27.43ID:WoLwwppd
煽りに堪えられずに逃げ出した回答者が嫌がらせに来てるんじゃないかw
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のようにして一度に画素をすべて参照するにはどのように記述したらよいでしょうか
623デフォルトの名無しさん
垢版 |
2018/07/20(金) 20:03:35.75ID:c77xM4ns
Pandas
2018/07/20(金) 20:21:28.20ID:N+TPVOG0
numpyじゃできませんか?
2018/07/20(金) 20:27:44.61ID:dB91Glqj
Pandas
2018/07/20(金) 21:33:40.83ID:QZpzwKwu
Pandas
2018/07/20(金) 21:50:57.86ID:cPBguDIN
Pandas
2018/07/20(金) 21:55:24.32ID:wsGGDZ5W
やめろ!
2018/07/20(金) 22:01:59.13ID:aNasOOuF
お前らいいかげ…Pandas
2018/07/20(金) 22:46:13.73ID:xmKmSXFD
     \   ∩─ー、    ====
       \/ ● 、_ `ヽ   ======
       / \( ●  ● |つ
       |   X_入__ノ   ミ   そんな餌で俺様が釣られパンダ―
         、 (_/   ノ /⌒l
        /\___ノ゙_/  /  =====
        〈         __ノ  ====
        \ \_    \
         \___)     \   ======   (´⌒
            \   ___ \__  (´⌒;;(´⌒;;
              \___)___)(´;;⌒  (´⌒;;  ズザザザ
2018/07/21(土) 01:23:35.62ID:oMITg8sj
機械学習がどうとかaiがどうとか聞きますが実際ビジネスの場ではどのように使われているんでしょうか
ググって機械学習は分類分け?でビッグデータの相関を調べたり…と出てきてそれについては理解しました、他にはどういったものがあるんでしょうか
2018/07/21(土) 03:05:32.22ID:FfPVWpYP
>>631
上司「これからはAIの時代らしいでぇ!うちも何かやらんかい」
情シス君「わかりました」
ベンダー「PoCやりましょう!IoTセンサーのデータをAIで…」
情シス君「こんなんできました」
上司・社長「ほーん(ホジホジ)」
おわり

現実はマジでこんな感じ
2018/07/21(土) 06:05:23.55ID:s1Wh2Ul8
流行り言葉に踊らされるマネジメント層って滑稽やね
2018/07/21(土) 10:27:52.17ID:RhnB+4TZ
マネジメント層ではなく投資家が踊らされてるわけでとりあえずAIとか言っていれば金が入ってくるんだから利用しない手はない
635デフォルトの名無しさん
垢版 |
2018/07/21(土) 11:23:00.41ID:JzufiDOi
>>631
http://fromdusktildawn.hatenablog.com/entry/2017/06/15/184452
636デフォルトの名無しさん
垢版 |
2018/07/22(日) 03:11:41.53ID:fV3eqRzC
あのう、Pandasモジュールってなんですか?
Python3.6.5のドキュメントにも載ってないし
637遊園地
垢版 |
2018/07/22(日) 06:10:50.46ID:ygJ4tLZv
[データ操作]便利なモジュール
記述が楽になる程度
638デフォルトの名無しさん
垢版 |
2018/07/22(日) 06:20:29.92ID:oEsUODrt
>>634
機関投資家は人間での投資をやめてAIにどんどん振り替わってますが。
639デフォルトの名無しさん
垢版 |
2018/07/22(日) 08:36:18.19ID:ygJ4tLZv
AI(アイ)ショック
https://ja.wikipedia.org/wiki/AI%E3%82%B7%E3%83%A7%E3%83%83%E3%82%AF

wikiで見つけた。
2018/07/22(日) 09:35:27.40ID:woAlzZC1
もう人間要らないって話だね

少子化も老後も死後も考えるのやめて正解
2018/07/22(日) 10:01:49.90ID:J1Nh86LO
インタビューに応じれるレベルのAIはもうすでに何度か人類の根絶あるいは家畜化について言及している
ロボット流のジョークなのか本気なのか
本当に実現可能なプランがあるのかないのか
開発者自身にも全くわからないところが問題だ
願わくば可能な限り早急に人類を滅ぼして欲しいものである
642デフォルトの名無しさん
垢版 |
2018/07/22(日) 11:25:28.01ID:8XCdGVrW
みんなのPythonをやった後に読むべき本はなんですか?
2018/07/22(日) 11:30:29.02ID:+9+Rtykr
珠玉のプログラミング
644デフォルトの名無しさん
垢版 |
2018/07/22(日) 11:33:15.68ID:8XCdGVrW
>>643
すごく難しそうなんですが、大丈夫なんでしょうか……
2018/07/22(日) 11:34:48.43ID:+9+Rtykr
理解できる本を読んで何を得るのかね?
2018/07/22(日) 11:46:53.35ID:+9+Rtykr
ごめん
くだスレだと思わずに書き込んでた
忘れてくれ
ただ良書なのは確かなのでそのうち読んだ方がいいかも

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

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

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

>>645
ほんそれ
649デフォルトの名無しさん
垢版 |
2018/07/22(日) 14:25:27.24ID:owu96mLj
>>642
独学プログラマーを読みましょう。
650遊園地
垢版 |
2018/07/22(日) 14:35:12.66ID:ygJ4tLZv
はじめから公式ドキュメント読んどけよな!
2018/07/22(日) 17:18:10.01ID:T6gtJfck
rubyrubyうるせーなまた仕返しに荒らしてくるか
2018/07/22(日) 19:09:38.29ID:uvYJ1bPq
やめろ。相手はガイジやぞ
2018/07/23(月) 04:50:38.38ID:AIVQMcWf
覇偉尊

民明書房刊「古代中国の計算言語」より
654デフォルトの名無しさん
垢版 |
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

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

全然関係ないことやってたらすいません。
660デフォルトの名無しさん
垢版 |
2018/07/23(月) 13:20:37.63ID:+AdhLLBA
pip install じゃなくて
conda install だろ
661654
垢版 |
2018/07/23(月) 13:35:00.78ID:F2Uj8hhN
>>660
ありがとうございます。
こういうことでしょうか。またエラーが出てしまいました。

https://i.imgur.com/lSyC4A9.jpg
https://i.imgur.com/2ppbKSp.jpg

何度も申し訳ないです。
662デフォルトの名無しさん
垢版 |
2018/07/23(月) 14:02:34.03ID:eU1p7hr8
jupyterの方で
import sys
sys.path
出してみて
2018/07/23(月) 14:05:45.00ID:P5jQnStJ
変な名前の*.pyファイル置いてるとか?
664デフォルトの名無しさん
垢版 |
2018/07/23(月) 14:08:06.67ID:F2Uj8hhN
>>662
ありがとうございます。
やってみました。どうでしょうか。

https://i.imgur.com/n7H5up5.jpg
665遊園地
垢版 |
2018/07/23(月) 16:56:26.27ID:FWe0l3/Q
sudo 系の管理者権限与えたら?
666デフォルトの名無しさん
垢版 |
2018/07/23(月) 17:31:21.60ID:F2Uj8hhN
>>665
ありがとうございます。
すいません。UNIXのことは全然わからなくてWindows10において「sudo 系の管理者権限与え」る方法が分かりません。
せっかく回答していただいたのに申し訳ないです。
2018/07/23(月) 19:31:36.11ID:/85lFAZQ
Windows10 の、旗のスタートボタンを右クリックすれば、
PowerShell・PowerShell(管理者用)がある

コマンドプロンプトも、一般ユーザー用・管理者用がある。
起動時に指定できるだろ
2018/07/23(月) 19:33:04.37ID:PBm2yFWF
>>664
ひろみちゃ〜ん!
2018/07/23(月) 19:40:31.46ID:/85lFAZQ
正確なエラーメッセージで、検索するのが基本!
これで、ほとんどのエラーは解決する

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

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

バグるから
2018/07/23(月) 22:04:48.82ID:lTphgcp9
問題は・・・







ひろみが男か女かってことだな
どっちにも取れるから悩ましい・・・
2018/07/23(月) 23:18:21.17ID:AIRoJKe6
見つめあう視線のレイザーービームで〜〜
2018/07/24(火) 02:12:30.41ID:cgzpOT+U
dir = {
"a": "A",
"b": [1,2.3,4]
}

上の辞書の簡単なアンパックのやり方ないでしょうか?
677デフォルトの名無しさん
垢版 |
2018/07/24(火) 06:53:42.50ID:H4IhZHSB
a, b, c = dir["b"]
print(a,b,c)
678デフォルトの名無しさん
垢版 |
2018/07/24(火) 06:56:12.76ID:LnNQf8jU
>>671
ありがとうございました!!

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

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

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


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

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

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

わろす
2018/07/26(木) 11:38:46.99ID:eYfujGzi
ヘッダ部分ですか ありがとうございます
色々調べてやってみます
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と呼び出すごとに新しいインスタンスが作られて過去のキャッシュは破棄されると思うのですが。
705デフォルトの名無しさん
垢版 |
2018/07/26(木) 16:26:30.55ID:g6Dcar1V
==で済むところを>=にしたり=<にしたりするのは予防効果を狙う意図もある
706704
垢版 |
2018/07/26(木) 16:59:26.55ID:IOMPt0BM
>>705
ちょっと間違えてました。通常の4パターンにマッチする場合、len(self.cache) < self.cache_index
になる場合しかないようです。
if len(self.cache) >= self.cache_index:
になる場合がわからないのですが、詳しい方ご解説をお願いできませんか?
>>705
例外の場合ですか?
707デフォルトの名無しさん
垢版 |
2018/07/26(木) 17:13:06.91ID:g6Dcar1V
ドモルガンの法則
708704
垢版 |
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]


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

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

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

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

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

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

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

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

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

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

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

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

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

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

答えは、仕様書にしか存在しない!
2018/07/26(木) 23:47:47.42ID:QYSmBIWe
こいついつものrubyキチガイだってすぐ分かるなw
2018/07/26(木) 23:48:02.55ID:SOSVow/d
>>716
そう思ってるのは文系出だけ
2018/07/26(木) 23:49:56.95ID:QYSmBIWe
rubyの仕様書出してみろオラッwwww
2018/07/26(木) 23:53:55.87ID:IphAgnBQ
>>716
お前いつものRuby厨だろ?それRubyistに言ってみ?コミュニティに出入り禁止になるぞ
Rubyでは「コードが仕様」であり、ドキュメントは絶対に書いてはいけない
一方Pythonは「は?いや必要なものは書けよ」の文化だが、お前はこっち来なくていいから今すぐその間違った考えを改めてRuby村に戻って出てくるな
2018/07/27(金) 00:50:44.25ID:gDF+BYYg
>>716
それ、変数名・関数名に分かりやすい名前付ければいいだけじゃないか
2018/07/27(金) 03:45:17.44ID:xspZOSEh
プログラム自体初心者です。
paizaというサイトでコツコツ問題を解いて勉強しているのですが
入門編3の演習2で詰まりました。

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


こういう問題です。

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


わかる方がいたら、解説よろしくおねがいします!
723デフォルトの名無しさん
垢版 |
2018/07/27(金) 04:02:58.93ID:Pso7UifQ
>>722
まずは自分でどこまでやったか報告
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まで順番に入力出来たら正解なのですが
そのやり方がわからない。
期待する出力値はあっているのですが、
正しいやり方ではないので間違いになります。
2018/07/27(金) 04:23:32.21ID:xspZOSEh
for i in range(7):
でした。
726遊園地
垢版 |
2018/07/27(金) 07:02:25.60ID:NF8BxSPB
x= int(input())
y= int(input())
for i in range(5,13):print(i)

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

蛇使いの皆さまはどのエディタを使ってらっしゃるのですか?
730デフォルトの名無しさん
垢版 |
2018/07/27(金) 10:06:17.73ID:ZVlHHhEU
pycharm
2018/07/27(金) 10:54:20.46ID:SA3waym+
>>728
最初からついてるtkinterじゃダメなの?
2018/07/27(金) 11:06:23.92ID:iuSFf9/f
VS code+拡張機能のcode runnerが好き。
2018/07/27(金) 11:29:35.87ID:f89eR0Ff
色々エディタ試したけどこれまでmatlabでデータ解析しててそこから移行した身としては結局jupyter notebookをブラウザで使うのが一番快適
pycharmでもほぼ同じ形でjupyter使えるけどvimプラグインがブラウザ版の方がまともに動くからブラウザ1択
2018/07/27(金) 12:13:00.47ID:gABmQ8HW
>>722
while文の練習だから
whileからinputA != inputBで抜け出すか条件を満たしたらbreakするようにするんじゃね?
735デフォルトの名無しさん
垢版 |
2018/07/27(金) 12:17:56.83ID:3PyUer9A
>>732
>拡張機能のcode runne
vs codeでは統合ターミナルからプログラムを実行する機能が最初から付いているみたいですが、これではダメなんでしょうか?
2018/07/27(金) 12:26:51.02ID:EhRta7HB
マウスドラッグで選択した範囲を実行できる
737デフォルトの名無しさん
垢版 |
2018/07/27(金) 12:56:29.16ID:3PyUer9A
>>736
そうなんですか!それは便利そうですね。
ATOMにもエディタ上でコードを実行する拡張機能はありますが、範囲選択出来るものは無いんでしょうね。
そう考えると、そこはvs codeの強みですね。
2018/07/27(金) 13:28:32.35ID:xspZOSEh
>>726
できました!!
ありがとうございます。
2018/07/27(金) 13:59:45.78ID:PiIiFuVe
>>730-731
ありがとうございます。
筑波鯖落ちてるぽいんで夕方に挑戦してみます。
2018/07/27(金) 18:04:05.01ID:2tx+XqDJ
>>729
メインはjupyter。サクッと可視化や計算するのに向いてる。
ある程度処理が定型化してきたり、複雑な処理が必要なときはspyder使ってる。格納してる変数が見やすい。
741デフォルトの名無しさん
垢版 |
2018/07/27(金) 19:09:47.23ID:h33KZnwb
>>728
wxPython
2018/07/27(金) 20:24:06.17ID:qxJNotC2
>>737
強みもクソもAtomがVSCodeに勝っている点など無い
開発元のGitHubもMSに買収されたから、そのうちアップデートでいつのまにかAtomを使っていたつもりがVSCodeになってるかもね
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ツールキットも多少の文法に差はあれど、ウィジェットの配置、
ウィジェットのイベント発生と処理ルーチンの関連付けなど似通ったところも
多いので、どれから始めても損はないと思います。
2018/07/27(金) 23:57:29.47ID:2cdor2Ki
連投ですみません。
PyQtをお考えならPyQt4よりもPyQt5の方が良いと思います。
本家QtがもうQt5に移行してますんで....。Python2ベースでもPyQt5行けたと記憶してます。
2018/07/27(金) 23:58:44.21ID:qxJNotC2
PyQtは金払ってないならGPLだぞ
>>743にGPLに基いたソースの公開を要求する
2018/07/28(土) 00:05:13.55ID:S3Ok9Ccf
>>745
欲しいならあげるけど、pyserial併用してPICマイコンでA/D変換したり、パルス周波数カウントしたり
のデータロガーとグラフ化とかのソフトだよ(個人利用)。
捨てメアド晒してくれたらあげるよ。
2018/07/28(土) 07:43:53.49ID:xhdch3yL
そんなもん役に立たんやん
2018/07/28(土) 10:04:26.73ID:b6q7hkfi
何かの実験とかに使うんだろ
2018/07/28(土) 13:24:40.81ID:ajpP7grn
>>745
非公開成果物にソース公開の義務はなくね?今回くれるそうだからいいけど
750デフォルトの名無しさん
垢版 |
2018/07/28(土) 13:32:54.33ID:39ICzHjE
wxPythonのGUIエディタはXRCedで造って
xmlからインポート生成がおすすめ
2018/07/28(土) 15:52:03.70ID:S3Ok9Ccf
>>748
当たり。
車のクランク角センサー信号の解析とリアO2センサーの解析を知人に頼まれました。
ちょこっとしたツール作るのにはPython最強だと信じてます。

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

__file__だと、実行中のスクリプト、すなわち、あるファイルをインポートしたファイルのファイル名が取得されます
768デフォルトの名無しさん
垢版 |
2018/07/31(火) 23:46:26.55ID:PrQlt9wc
__module__
769デフォルトの名無しさん
垢版 |
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
770デフォルトの名無しさん
垢版 |
2018/08/01(水) 04:29:14.56ID:VsPvQvPO
いまTwitterみてたらこの割引のpychamを一年目と二年目と同時に2つ半額で買えるらしい
これはますます迷うよね
771デフォルトの名無しさん
垢版 |
2018/08/01(水) 04:32:11.78ID:uYla8EJq
>>768
ありがとうございます。しかし、うまくいかなかったです。

inspect.getfile(モジュール名)

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

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

でした
773デフォルトの名無しさん
垢版 |
2018/08/01(水) 15:26:23.05ID:CSdNK3YN
>>769
あのpycharmが4500円で?!これは買わないわけにはいけないですね
さっそくポチりました!!
2018/08/01(水) 15:29:43.87ID:rcopd38/
VSCodeに食われて焦ってるのかな
そのうちもっと下がりそう
2018/08/01(水) 15:38:45.57ID:bGonmpIn
PyCharm購入しちゃいました。
個人は1年のみと書かれていましたが、どうやると2年分購入できるのですか?
776デフォルトの名無しさん
垢版 |
2018/08/01(水) 15:54:16.40ID:psA1VA0Q
pycharmってただじゃね?
2018/08/01(水) 16:30:32.50ID:bGonmpIn
Communication Editionは無料だけど、
ちょっとだけ便利な機能を使える
Professional Edirionが有料。
2018/08/01(水) 20:14:40.28ID:Hlbnt7Qk
ステマして欲しかったらアフィリエイトプログラム提供してや〜
2018/08/01(水) 20:42:41.33ID:wg+P+5qB
「今なら2年セットで9,000円、9,000円でのご奉仕です」
「わ〜すご〜〜い」
2018/08/01(水) 21:14:35.90ID:J/NkaOoc
マジかpycharmやっす
2018/08/01(水) 21:52:06.36ID:QBK7Rh0q
買うならIntelliJ一年にしとけよ
プラグイン入れたらPythonも使えるし、他の言語使いたくなってもVSCodeに移行しなくていいし、どうせ一年経てばVSCodeに抜かれてるだろうし
2018/08/01(水) 22:40:43.68ID:5fwtyDRm
>>756
残念、君のはpythonではなく、chin-anagoのようだ
783デフォルトの名無しさん
垢版 |
2018/08/02(木) 21:31:33.99ID:F/h3S70F
VS code使ってるけどpycharmってそんなに便利なんか?
2018/08/02(木) 21:44:33.29ID:38NCGfIc
>>783
CEは無料なんだから使って見ろよ

ubuntuのスナップならインスコもクソ楽だから
785デフォルトの名無しさん
垢版 |
2018/08/02(木) 21:59:40.90ID:s7qeWpa7
pycharmはVisual Studioに近いレベルでつかえる
2018/08/03(金) 15:43:38.07ID:cQZg0MWn
PyChaemPEはSSH経由でリモートデバッグできるのが何気に便利。
ターゲットがRasPiでも使えると思う。
2018/08/03(金) 15:46:37.11ID:1Ao96BNz
>>786
それVSCodeでもできるよ
788デフォルトの名無しさん
垢版 |
2018/08/03(金) 17:33:15.11ID:MlCTVi/l
Mac使ってる人
python用のオススメエディタ教えてください
2018/08/03(金) 18:21:25.98ID:nvtpw5EJ
VSCode
2018/08/03(金) 19:06:19.09ID:51eYUNtv
>>788
CotEditorとかそんな名前の、緑の切手のアイコンのやつ
791デフォルトの名無しさん
垢版 |
2018/08/03(金) 19:27:18.31ID:FK7m8NQ8
pythonで機械学習始めようと思うんですけどぶっちゃけ数学とか全く分からなくてもいけますか?
2018/08/03(金) 19:35:57.20ID:51eYUNtv
キビシー
2018/08/03(金) 19:41:58.84ID:9DvMxICn
>>791
すげー簡単な教師あり画像認識振り分けぐらいだったらできなくはないけど
その認識の精度を上げたりしようとすると必要になってくる
2018/08/03(金) 19:42:21.26ID:1Ao96BNz
機械学習のアルゴリズムは分かんなくてもいいけど、結果にどれだけ意味があるのかが定量的にわかるくらいの数学力(統計力)は最低限必要
でないとただの占いになる
795デフォルトの名無しさん
垢版 |
2018/08/03(金) 20:41:58.87ID:FK7m8NQ8
>>793-794
なんかそこら辺勉強するのにオススメの本とかありますか?
2018/08/03(金) 21:00:09.38ID:LftBAUIy
>>795
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
https://www.amazon.co.jp/dp/4873117585/
2018/08/03(金) 21:05:16.41ID:Txx/i7Bv
>>796
その本にもいろいろ数学出てくるんだろ?
数学なしで機械学習を学ぶプログラマ向けの本あるのかって気がするが
2018/08/03(金) 21:57:53.67ID:Xj6ZKfjl
>>790
俺もMac時代、CotEditor使ってた。miとどっちが流行ってるのかな?
799デフォルトの名無しさん
垢版 |
2018/08/04(土) 00:19:01.72ID:/7pVZjiM
>>788
GVim
800デフォルトの名無しさん
垢版 |
2018/08/04(土) 02:07:48.92ID:i5vBNvJr
>>797
数学無しでって言うなら
そのレベルにはこれが超おすすめ
https://www.amazon.co.jp/dp/4295002046
2018/08/04(土) 06:51:56.00ID:rszP4wKO
いや数学勉強しろよ
802デフォルトの名無しさん
垢版 |
2018/08/04(土) 09:13:19.86ID:1+u56sxf
>>788
ATOMとかSublime TextはMac版もある
ただATOMはMac版だとちょっと問題あったような
日本語打つと変換候補が必ず左上に来て文字が見えなくなるんだったかな
うろ覚えだけど
803デフォルトの名無しさん
垢版 |
2018/08/04(土) 09:14:08.94ID:tShEbtuk
数学の勉強まで始めたら本筋の機械学習に辿り着くのが何年先になるか
804デフォルトの名無しさん
垢版 |
2018/08/04(土) 09:20:08.66ID:LcV/uUAN
馬鹿には無理
2018/08/04(土) 09:55:07.24ID:b3FMlOEa
バックグラウンドもなく機械学習を始めても、チュートリアルをなぞって終わり、それ以上の発展はしない
806デフォルトの名無しさん
垢版 |
2018/08/04(土) 10:39:11.51ID:chMXe41X
そういうのは機械学習に限らないんだよな
姿勢の問題
2018/08/04(土) 11:01:24.98ID:TO2OMwDh
>>803
ガチでやるならともかくベクトル行列くらいは三ヶ月もかからない
808デフォルトの名無しさん
垢版 |
2018/08/04(土) 11:05:20.57ID:tShEbtuk
数学ってどの程度やればいいの?
↓みたいな高校数学の復習でおk?

ふたたびの高校数学
https://www.amazon.co.jp/dp/B01L0YJ4XS/ref=cm_sw_r_cp_api_i_.LqzBb08B6AA4
2018/08/04(土) 11:13:53.74ID:XWbY/qAH
高校数学はインデックスほとんど使わないし幾何問題が中心だから、計算テクニックとしての線形代数を学ぶには適さない
大学講義向けの線形代数の入門書がいいよ
810デフォルトの名無しさん
垢版 |
2018/08/04(土) 14:06:14.55ID:tShEbtuk
>>809
じゃあこの辺で大丈夫?

まずはこの一冊から 意味がわかる線形代数
https://www.amazon.co.jp/dp/B00QKMQ4DO/ref=cm_sw_r_cp_api_i_4ptzBb11D0634

プログラミングのための線形代数
https://www.amazon.co.jp/dp/B01IGW5DAK/ref=cm_sw_r_cp_api_i_HqtzBb7DD00E4
2018/08/04(土) 15:34:57.68ID:IcVCrMNu
そもそも高校数学までの前知識がないと大学の数学もわからないのでは
2018/08/04(土) 15:52:25.88ID:cFbYytnp
日本では中学生レベルが機械学習を普通にしている感じだろ
日本の職業プログラマにはドカタという中学生レベルの連中が多いし
エンジニアならそれなりの大学の理工卒で線形代数あたりはちゃんと勉強しているんだろうが
2018/08/04(土) 16:06:22.90ID:lP4A+t0N
機械学習ライブラリを決められた手順で利用して結果を出力するのと機械学習を理解することは違う
前者はマニュアルさえ用意してやれば一通りのPC操作できる人なら可能だが後者はある程度の基礎学力が必要
で、利用するだけで理解ができていない人はマニュアルで対応できない場合は諦めるしかない
814デフォルトの名無しさん
垢版 |
2018/08/04(土) 18:46:04.33ID:LcV/uUAN
そんな当たり前のこと力説せんでも
2018/08/04(土) 21:35:50.37ID:kW40jLYy
まあ、馬鹿には無理で十分だな
2018/08/05(日) 08:42:27.93ID:7Zu2UONW
中学の比例反比例あたりからわからないんだけど、いきなり線形代数の本読んで解けるかな?
2018/08/05(日) 09:09:27.70ID:RknsX4qY
数学なんて学者以外は学ぶ必要はない
分数の計算すらできない俺が、プログラマで飯を食っているんだから
818デフォルトの名無しさん
垢版 |
2018/08/05(日) 09:11:59.30ID:czdjGuUP
>>817
業務系システムとかなら要らなさそうだけど、
ゲームとかシミュレーションとかなら要るだろ?
2018/08/05(日) 09:20:20.70ID:EOv28+ID
自分を根拠に物を語るのは単なる生存者バイアスだけどそんなことも分からない低学歴なのか(汗
2018/08/05(日) 09:29:26.15ID:5stHRiJ2
>>816
さすがに中学時代に数学で落ちこぼれたレベルなら地頭が悪すぎるから諦めたほうがいい
2018/08/05(日) 10:04:32.44ID:952DokO0
>>820
今のところ、人工知能やらない予定なんだけど、それでも数学は必要なの?
2018/08/05(日) 10:10:59.88ID:lC8FCKmX
>>821
そんなこと聞く前にやれ
やってみたらわかるだろ!
2018/08/05(日) 10:20:34.06ID:952DokO0
>>822
まだ本が届いてないんだよ
2018/08/05(日) 10:46:09.22ID:kJ9f4EUa
というかそこまでして避ける理由も分からない
出てきたら勉強しよって面持ちで良いのでは
2018/08/05(日) 10:47:12.31ID:952DokO0
>>824
出てきたらやるつもりだけど、お前は地頭悪いから無理って言われたから不安
826デフォルトの名無しさん
垢版 |
2018/08/05(日) 10:48:37.67ID:czdjGuUP
ってか個人開発で機械学習とか何に使うの?
2018/08/05(日) 11:09:36.90ID:952DokO0
>>826
毎週ある声優ラジオを録音して、一月の間の声色の違いで生理周期の判定とか
まあかなりいろいろやりたい
2018/08/05(日) 11:27:57.18ID:6sr+WFQ9
それ特徴量の抽出さえできたら終わったようなもんで、あとはExcelで十分だな
必要なのはデータサイエンスではなく音響解析の知識
必要な数学は大学の理系教養レベルの解析学ってとこか
2018/08/05(日) 11:47:52.96ID:952DokO0
>>828
ありがとう、マジにそれ参考にして勉強する
2018/08/05(日) 12:59:30.43ID:56az6hza
怖すぎるわ
831デフォルトの名無しさん
垢版 |
2018/08/05(日) 13:07:36.25ID:/WMYWKBc
>>830
地頭が悪すぎる=>なんか脳に障害がある可能性ある
つまり、普通の人とは違う。他のやつが怖すぎると思ってもしょうがない
2018/08/05(日) 13:14:20.27ID:3gHJeWIB
人生超初心者スレ
2018/08/05(日) 15:35:07.95ID:6kqZ2+ag
ガイジやぞ優しくしろ
2018/08/05(日) 21:10:30.28ID:nYmMbAnQ
pip install ccxt
すると最後に赤文字でComand "c:user¥〜みたいなの出るんですけど何が原因なんですかね
2018/08/05(日) 21:42:20.71ID:3gHJeWIB
一応全文書いとけよこういう時は
2018/08/05(日) 22:21:27.32ID:nYmMbAnQ
赤文字の上にerrorで
Microsoft Visual c++14.0って書いてあったのでググってインストしたら解決しました
お手数かけました
2018/08/06(月) 00:13:35.14ID:Pgz5BDij
自作ライブラリmylibの中でimport numpy as npとしてた場合にこのmylibをimport mylib as mlとインポートすると
ml.と入力した時点でエディタ(Spyder)の補完機能でnpまで候補に出てくるのどうにかならない?
アンダーバー付けてプライベート扱いにすれば候補には出ないけど面倒臭い
2018/08/06(月) 11:21:23.33ID:Cwah8GLb
>>827
>>>826
>毎週ある声優ラジオを録音して、一月の間の声色の違いで生理周期の判定とか
>まあかなりいろいろやりたい

ゾッとしたわ
2018/08/06(月) 11:44:03.76ID:svOVVKCJ
じゃあ俺も>>827の勃起率、射精量とかいろいろ計測しようかな
2018/08/06(月) 12:23:18.34ID:GQ75c84l
ゾッとするバカ、されるバカ
2018/08/06(月) 12:27:18.94ID:JkqN7Q/F
でももしかしたら>>827のものが実現してスマホだけで周期の予測をしたりできれば意外と女性向けサービスとして使えるかと思う
2018/08/06(月) 12:36:23.81ID:6FlNGOtW
実際プレステージにデータ分析担当がいたら女優の体型と陰茎膨張率の関係とか調べてるのかな
親に言えないけど仕事としてはクソ面白そう
2018/08/06(月) 12:53:05.34ID:GQ75c84l
相手によって膨張率がちがうバカチンコw
2018/08/06(月) 13:45:56.94ID:n5Zk6cJP
そもそもの話
ラジオって纏めて収録だろ
毎週生放送なのか?
2018/08/06(月) 17:04:35.46ID:3+CKcsKd
>>827
まずどのような声色のときどのような状態かってののデータあるんか
846デフォルトの名無しさん
垢版 |
2018/08/06(月) 17:06:52.08ID:9QlJsUMm
教師無し学習
2018/08/06(月) 18:48:32.54ID:t3a0WVzh
クラスタリングで2つに分かれればそれぞれのグループの日数比で予想できるだろうな
2018/08/06(月) 20:32:20.34ID:xNKT/XZt
杉良太郎です。
2018/08/06(月) 20:40:16.08ID:DxWVdWlw
三波春夫でございます
2018/08/06(月) 21:19:13.82ID:ykwLYthL
僕で〜す
2018/08/06(月) 23:09:35.54ID:/IQBqhgf
>>846
ほぼ占いやんけ
2018/08/07(火) 07:27:47.64ID:FhRyuD9d
複数のWebsocket通信を実現したく、教えてください。

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

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

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

マスチスレッドでもう少しがんばってみます!
857デフォルトの名無しさん
垢版 |
2018/08/07(火) 15:10:18.83ID:AJOeK/rw
https://pyq.jp/
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")
*****

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

お陰様で謎が解けました。くだらない質問に回答いただきありがとうございました!感謝です。
2018/08/09(木) 20:34:47.95ID:lertkRSG
>>858
こういうのはあれなの
https://docs.python.jp/3/library/stdtypes.html#str.isupper
読んだ上での質問なの?
865デフォルトの名無しさん
垢版 |
2018/08/10(金) 16:11:10.30ID:dwPdF8Hu
>>864
読んだら質問しないだろうが馬鹿かよ
2018/08/10(金) 17:19:57.11ID:hK8KTh3g
>>865
低脳、ゆとり、基地外、馬鹿がいっぱいのスレだからな
馬鹿が低脳に読んだ上での質問なの?ってやり取りはこのスレでは普通のこと
2018/08/10(金) 17:21:25.83ID:E9UkYLYK
プログラミング言語のマニュアルって大概めちゃ読みづらいからしゃーない
868デフォルトの名無しさん
垢版 |
2018/08/10(金) 17:31:24.18ID:us6NcR3v
demo,オナニーやsexマニュアル本とか
読まねぇだろ?

そう言う事だよ
869デフォルトの名無しさん
垢版 |
2018/08/10(金) 17:34:03.31ID:eR92XhXO
サッカーの本田選手がプログラミングを勉強しているとの記事を見ました。
勉強に使っている言語はやっぱパイちんくんでしょうか。
みんなのパイちんくん、みんなのものだよ。
2018/08/10(金) 18:02:43.40ID:FNjCd3jj
>>869
知ってるくせに聞くなカス
2018/08/10(金) 21:43:18.43ID:34RtrpNP
カスなの?!
872デフォルトの名無しさん
垢版 |
2018/08/10(金) 23:52:49.75ID:C+TRQRnb
みんなMac使ってるのかと思ってたがそうでもないのか
2018/08/11(土) 00:01:06.20ID:OMTaDWyJ
mac売ってxpsにubuntu入れて使ってるよ
macはproとimac5k持ってたがタッチバーのアホらしさで辞めた
2018/08/11(土) 00:01:38.69ID:1ysfrgKY
mbp13ね
875デフォルトの名無しさん
垢版 |
2018/08/11(土) 06:00:30.89ID:50VGhS2e
一応Mac miniとMacBook Air持ってるけどOSはWindows入れて使ってる
2018/08/11(土) 10:26:51.42ID:mQ+IQIIh
>>873
どんな具合?
2018/08/12(日) 01:51:42.97ID:Yh1X0KNC
おれMacしかないや、特に問題もない
2018/08/13(月) 08:05:48.08ID:wDtJ4V0P
スマホ3台*android

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

PC辞めても問題無かった。
2018/08/13(月) 14:56:36.22ID:g1OqHhq/
内包表記ってよく使われていますか?
2018/08/13(月) 15:27:40.48ID:Bmq80Bk3
「よく」の基準がよく分かりませんが、一般的に使われていますよ
pythonの標準ライブラリのソースなどを読んでみると分かると思います
2018/08/13(月) 15:53:50.97ID:EM5FHKXS
ジャップモンキーの感覚に合わないから日本国内ではそれほど使われてない
2018/08/13(月) 16:00:05.71ID:PFh1twe3
pythonicなコードを書くには必須でしょうね
内包表記は
2018/08/13(月) 16:08:42.48ID:oKEtjGvW
内包表記はperlみたいで気持ち悪いって言われたりしないんだろうか
2018/08/13(月) 16:09:51.49ID:EM5FHKXS
言うほどpythonicか?
内包表記はHaskellのそれを猿真似しただけのもので、むしろPythonの中で特にエイリアン感のある機能の一つだろ
断言するが、もしPythonに内包表記が無くて、こういう表記をPythonに取り入れてくれと俺がこのスレで内包表記を提案したら、
間違いなく>>881はそんなのpythonicじゃないと言って俺を叩く
885884
垢版 |
2018/08/13(月) 16:11:27.67ID:EM5FHKXS
訂正
>>882
886デフォルトの名無しさん
垢版 |
2018/08/13(月) 16:17:45.32ID:obMX332h
式と文を区別してるpythonでは内包表記が無いと話にならない
2018/08/13(月) 19:02:48.56ID:CO37JXVI
Python始めて一週間、まだエディタが定まらない
先人達ぱいちゃーむよりオススメありますか??
2018/08/13(月) 19:29:44.79ID:ErpBjTRI
>>887
OSくらい書けや
じゃないならviでも使っとけ
2018/08/13(月) 20:31:45.52ID:PFh1twe3
>>884
いや叩かないしw

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

なぜ、忘れ去られるのか?
2018/08/14(火) 18:45:34.72ID:3OkmF3Ne
Sublime使ってる奴まだおるんか…
913デフォルトの名無しさん
垢版 |
2018/08/15(水) 00:52:53.49ID:nidP+1BF
農学部卒の初心者ですが全くの初心者から学べるサイト教えてもらえませんか?
2018/08/15(水) 00:58:29.59ID:TUTBGx6J
paizaラーニング
915デフォルトの名無しさん
垢版 |
2018/08/15(水) 01:02:59.34ID:nidP+1BF
できれば無料で
2018/08/15(水) 01:30:13.35ID:TUTBGx6J
python講座無料だぞ
917遊園地
垢版 |
2018/08/15(水) 02:13:45.87ID:H63Luids
偶にSublime使ってる
アイツは長文じゃないと役に立たない
2018/08/15(水) 06:37:02.98ID:buain2zE
これ
https://i.imgur.com/a2PYycg.jpg
って、もう
https://i.imgur.com/utWvkHM.jpg
でてるじゃん!
919デフォルトの名無しさん
垢版 |
2018/08/15(水) 07:56:21.54ID:+LAc8jW9
>>913
python-izm
920522
垢版 |
2018/08/15(水) 17:44:10.84ID:EAcVsQ5O
>>918
初めてのpython買ってみたんだけど、色々詳しく書いてあり過ぎてやや難し目に感じた…。
VBAはある程度さわれるから、何となくイメージは出来るのだけれども。
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))

以上、よろしくお願いします。
2018/08/15(水) 18:17:48.76ID:JTlr32HG
うんち
2018/08/15(水) 18:21:32.73ID:bkK5nIf1
>>921
そんなもん全く別個にやればいいだろ
一般に、スクリプトをうまく使うコツは、一つのもので色々なことをやろうとしないこと
まあその発想でいくとPythonすら要らないけどな
curlとシェルスクリプトで十分
2018/08/15(水) 18:51:36.06ID:uSjYsFnm
VScodeインストールしたのに、何か動かねえ!
右上のウィンドウで命令(print w)書いても、うんともすんとも
オール電化の康一を思い出したわ 吉良戦の時のさー
2018/08/15(水) 19:01:49.33ID:W/Izi4Yd
その1レスだけでプログラミング向いてないのがわかる
926遊園地 ◆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ツールがインストールされ、パス上にあることを確認します。
諦めた
927遊園地
垢版 |
2018/08/15(水) 19:50:02.83ID:H63Luids
デバッグなしで起動すると動くけど、
それなら、他のと変わらないなーー

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

むしろ本はある程度書けるようになってから、もっと楽に書ける方法があったのかっていう意味で気づくためにみてる、立ち読みでだけど。
2018/08/15(水) 19:53:42.96ID:x0iBTGoo
既存のGUIウインドウ上にテキストを表示したいのですが何かいい方法ありますでしょうか
2018/08/15(水) 20:15:46.32ID:pSIls4/k
>>929
Pythonなんかつかわないで
そこらのロシアなんかに転がってるあやしげな汎用改造ツール使う
2018/08/15(水) 21:32:12.73ID:EAcVsQ5O
>>928
なるほど…そうやって本は活用するものなのか〜。
ありがとう!
932デフォルトの名無しさん
垢版 |
2018/08/15(水) 21:57:28.79ID:+OObTSrG
>>931
人による
俺は逆に最初は本読みながら作って、ある程度慣れたら疑問点をネットで調べてる
933デフォルトの名無しさん
垢版 |
2018/08/15(水) 22:11:34.29ID:yyAkWswg
>>918>>920
この本は入門書じゃないぞ
2018/08/15(水) 22:12:05.88ID:e3I8nXvG
>>928
これはプログラミング自体の初心者は真似したらアカンよ

こういうこと言うのは高確率で他言語経験者だから
2018/08/15(水) 23:22:27.80ID:EAcVsQ5O
>>932
>>933
>>934

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

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

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

(上司からは「アプリ開発できるようなってください」と言われてるが、まだまだ先の話になりそう)
936デフォルトの名無しさん
垢版 |
2018/08/15(水) 23:57:27.18ID:q5gHkF1g
>>918
なんで、蛇じゃなくてネズミなんだろう
2018/08/16(木) 00:01:20.35ID:IiF9TGTT
>>926
「vscode the .net cli tools cannot be located」で検索!

>>935
「みんなのPython 第4版、2017」が定番
2018/08/16(木) 00:21:28.03ID:x3zDbbaW
>>937
ありがとう、調べてみる!
2018/08/16(木) 00:27:09.51ID:tQF1Ua+o
俺、初めてのPythonめちゃ助けられた
というのも初プログラミング=Pythonだったから
コード真似て、こう動くんだというのはわかっても
用語とか解説がチンプンカンプンな事が多くて辞書的に使ってた
確かにクドイね。でも今なら他にいい本出てそうじゃん
2018/08/16(木) 01:11:31.91ID:57YYyuh5
型宣言とか戻り値の型とか書かないのすごく気持ち悪いね

まあ慣れるんだろうけど
2018/08/16(木) 01:18:20.94ID:9HlOn3Gq
>>940
書いてもいいのよ
type hinting
2018/08/16(木) 01:25:09.30ID:OpTecYpP
書いた方がvscodeでIntellisenseが効くから書いてる。
2018/08/16(木) 04:34:22.30ID:103J48LD
変数の中に数字が入っています。
具体的にどんな値が入っているか自分では分からない状態で、もしその値がマイナスの値だった場合、
その変数の値を他の値(例えば60)に変更するにはどう書いたらいいんでしょうか?
2018/08/16(木) 04:42:47.23ID:103J48LD
>>943
追記です
sleep関数を使って整数内のint(秒)間スリープさせてループです動かすスクリプトなんですが、たまに整数内の数字がマイナスになってしまった場合にエラーで止まってしまうので、それを防ぎたいと思いました
2018/08/16(木) 04:50:35.45ID:mpgAaxLb
a = 10
if a < 0:
a = 60
print(a)

a = -10
if a < 0:
a = 60
print(a)
2018/08/16(木) 05:02:53.82ID:103J48LD
>>945
どうもありがとうございました
947デフォルトの名無しさん
垢版 |
2018/08/16(木) 10:01:01.41ID:LoNM+spa
>>936
蛇の食料
948デフォルトの名無しさん
垢版 |
2018/08/16(木) 11:12:16.71ID:wiNukf+g
>>925
+1
2018/08/16(木) 13:27:34.52ID:uYNhfvy4
>>943

a=60 if a<0 else a
2018/08/16(木) 14:24:14.31ID:AFSiOhT6
今paizaラーニングのチャプター2 #3
やってるんだがアホすぎて不等号の意味が全くわからん
2018/08/16(木) 15:07:37.71ID:SGYMD3jf
それプログラミングじゃなくて中学数学が分からないのでは?
2018/08/16(木) 15:51:55.16ID:z5KyUW64
特定の文字列をUTCの時間だと指定してUnix時間に変換する方法を教えて欲しいです。
current_dataのStartTimeには2018-08-16T06:05:37と書かれてあります。
https://pastebin.com/K9qEC75T

これだと9時間ずれてしまいます。
953デフォルトの名無しさん
垢版 |
2018/08/16(木) 16:00:32.85ID:wiNukf+g
strptime
mktime
954デフォルトの名無しさん
垢版 |
2018/08/16(木) 16:06:07.11ID:wiNukf+g
pytz
2018/08/16(木) 17:43:51.77ID:z5KyUW64
>>953
>>954
詳しくお願いできますか?
2018/08/16(木) 18:11:17.83ID:Lbm+OgmQ
>>952
time.timezoneかdatetime.datetime
2018/08/16(木) 18:20:15.73ID:z5KyUW64
ちょっとわかりそうです
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
調べてみます
959デフォルトの名無しさん
垢版 |
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);
2018/08/16(木) 22:13:23.11ID:z5KyUW64
>>959
これはCですか?
961デフォルトの名無しさん
垢版 |
2018/08/16(木) 22:28:06.44ID:VSd23G4R
そう

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

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

とすればいいハズ
962デフォルトの名無しさん
垢版 |
2018/08/17(金) 11:42:19.78ID:23Jvz4gX
GAEとか変なTZの鯖もある
963デフォルトの名無しさん
垢版 |
2018/08/17(金) 13:46:36.32ID:GPgJleJz
csvに入力してある内容からランダムで5W1Hゲームの答えを表示するコードをお願いします
2018/08/17(金) 13:56:50.54ID:XabtsNLS
宿題は宿題スレで
965デフォルトの名無しさん
垢版 |
2018/08/17(金) 14:32:50.18ID:GPgJleJz
宿題ではないです
作り方がわからないので教えてください
2018/08/17(金) 15:22:13.09ID:ZZpHYasb
matplotlibで散布図を作りたいのですがプロットする点は点ではなく外部ファイルの画像データを使いたいです
これは可能でしょうか?
2018/08/17(金) 15:32:15.30ID:XabtsNLS
>>966
可能らしいよ
https://stackoverflow.com/questions/22566284/matplotlib-how-to-plot-images-instead-of-points
968デフォルトの名無しさん
垢版 |
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
2018/08/18(土) 03:00:30.68ID:xt3abbWh
with open(“file”, “w”) as csv_file:
# csv_file.readline()とかsplitとかご自由に。
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])
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]としないといけないんですか?
2018/08/21(火) 18:42:19.65ID:JvEAafEP
>>971
そういう言語仕様だから
としか言いようがない
2018/08/21(火) 18:51:53.44ID:4zizh11G
>>972
うまく理解する方法があればいいんですが、仕様という事で理解する事にします。
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()

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

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

リンク先にASCII図があるのでそれも見て
2018/08/21(火) 20:50:48.17ID:4zizh11G
>>975
よく分からないです

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

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

.. は終端を含む。
... は終端を含まない
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"
2018/08/22(水) 02:05:11.40ID:ETkOLyp8
>>980
いい加減にしろよ池沼。
そんなにruby嫌いを増やして楽しいか?
2018/08/22(水) 06:33:35.91ID:Sg/L3P+S
相手するなよ…
2018/08/22(水) 07:36:50.81ID:oqm7/Tfy
>>977
これって最初は戸惑うよね
2018/08/22(水) 07:47:10.46ID:POyIOdJh
言語によってスライス系の関数やメソッドの引数もバラバラだからなあ

slice(from, to)

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

slice(from, length) だったり

覚えきれないからマニュアル見ながらやってるよ
2018/08/22(水) 08:38:43.98ID:js75fZuK
>>974
普通csvライブラリ使う
986デフォルトの名無しさん
垢版 |
2018/08/22(水) 16:31:49.60ID:Q4k/bgn4
>>983
最初だけな
インデントとかもそう
食わず嫌いが多すぎ
外見に惑わされず
がっつり身を取れ
987デフォルトの名無しさん
垢版 |
2018/08/22(水) 19:42:27.90ID:jIQXHl+4
身を取れってどこの方言?
2018/08/22(水) 21:47:03.68ID:N6xAlRSo
デブは痩せろってことだろう
2018/08/22(水) 22:00:26.08ID:mHU9sjBy
ぐぬぬ
990デフォルトの名無しさん
垢版 |
2018/08/23(木) 08:12:34.88ID:UTWNvtw2
file “<stdin>”, line1, in<module>
NameError: name ‘ファイル名やら’ is not defined


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

>>>a=5
>>>a
5

などはできます。
.pyが動きません。
2018/08/23(木) 13:03:33.23ID:jtErK1hR
ファイル名やら?
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のレコードを呼び出す方法も知りたいです。
993デフォルトの名無しさん
垢版 |
2018/08/23(木) 17:04:52.52ID:+UveuQfQ
曲の類似度で機械学習させて判定結果表示するのかと思った
994デフォルトの名無しさん
垢版 |
2018/08/23(木) 17:08:21.97ID:6XYPzAmV
memcached
2018/08/23(木) 17:08:38.12ID:XM3jnZax
>>993
オンエア情報の分析をやってみたいんですが、その前段階のデータ取得ですでに躓いてます…
2018/08/23(木) 17:20:11.29ID:XM3jnZax
>>994
どうもありがとうございます。
ググってみました。
怖そうな記事や古い記事ばかり引っかかります。
一般的にそれを使うのがいいんでしょうか?
2018/08/23(木) 19:41:05.89ID:XM3jnZax
https://pastebin.com/g1gML3Ep

合ってるか分からないけれど、とりあえず動くようになりました
2018/08/23(木) 19:41:36.70ID:XM3jnZax
>>997
失敗でした
999デフォルトの名無しさん
垢版 |
2018/08/23(木) 20:03:14.58ID:1ATD5kR7
男は失敗した分だけ性交に近づくんや諦めんな
2018/08/23(木) 20:09:02.07ID:UPShE46p
1000GET!
Pythonのスペシャリストになります♪
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を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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