このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その38
https://mevius.5ch.net/test/read.cgi/tech/1526522954/
探検
くだすれPython(超初心者用) その39
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2018/08/24(金) 07:50:35.97ID:VD4/++xS2デフォルトの名無しさん
2018/08/24(金) 07:50:54.90ID:VD4/++xS ◆関連リンク Python の Home Page
http://www.python.org/
◆長いコードはこういうところにはってください
http://ideone.com/
http://codepad.org/
http://pastebin.com/
http://dpaste.com/
https://try.jupyter.org/
◆まとめwiki
http://python.rdy.jp/
http://www.python.org/
◆長いコードはこういうところにはってください
http://ideone.com/
http://codepad.org/
http://pastebin.com/
http://dpaste.com/
https://try.jupyter.org/
◆まとめwiki
http://python.rdy.jp/
3デフォルトの名無しさん
2018/08/24(金) 11:55:16.20ID:ZVlysGry ストロー廃止
2018/08/24(金) 16:34:04.92ID:RSpOEB9t
『日経ソフトウェア2018年7月号』
「新連載 金融データをPythonで分析してみよう」p.050-
のとおりにやってみてここまではうまく行ったのですが、
ここで
>>> ts.RateBid.diff().round(3).sort_values().dropna().unique()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/pandas/core/generic.py", line 1843, in __getattr__
(type(self).__name__, name))
AttributeError: 'Series' object has no attribute 'sort_values'
「Seriesオブジェクトはsort_valuesなんてアトリビュートを持ってないよ」
というエラーをPython3.4.2が吐き出しました。(´・ω・`)
ただそれだけ。書いてみたかっただけです。それじゃまた。
「新連載 金融データをPythonで分析してみよう」p.050-
のとおりにやってみてここまではうまく行ったのですが、
ここで
>>> ts.RateBid.diff().round(3).sort_values().dropna().unique()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/pandas/core/generic.py", line 1843, in __getattr__
(type(self).__name__, name))
AttributeError: 'Series' object has no attribute 'sort_values'
「Seriesオブジェクトはsort_valuesなんてアトリビュートを持ってないよ」
というエラーをPython3.4.2が吐き出しました。(´・ω・`)
ただそれだけ。書いてみたかっただけです。それじゃまた。
2018/08/24(金) 16:59:48.14ID:O0T9h+Ku
>>4
日経ソフトウエアって読む価値ありますか?(゚Д゚)?
日経ソフトウエアって読む価値ありますか?(゚Д゚)?
6デフォルトの名無しさん
2018/08/24(金) 22:42:39.09ID:J2z8mB41 環境整えてみたんですが
いざなにを作ればいいんですか?
いざなにを作ればいいんですか?
2018/08/24(金) 22:55:45.28ID:A0MvxlLt
自分探しの旅みてーな疑問だな
2018/08/25(土) 04:28:11.12ID:gxBSyOuw
日経ソフトウエアは、読む価値なし
日経Linux、WEB+DB、Software Design などは良い
日経Linux、WEB+DB、Software Design などは良い
2018/08/25(土) 10:02:26.96ID:H9tlLYtz
Ubuntu 18、UTF-8環境、Python 3.6.5です。
PHP(こっちもUTF-8)から引数を受け取ってPyhonで処理するプログラムを作っています。まずPHP側で
$arg = '日本語1 日本語2';
$cmd = 'python3 python.py "'.$arg.'"';
exec($cmd, $output);
とやって、python.pyで
import sys
a = sys.argv[1]
b = a.split(' ')
#listhoge{'日本語1': 0, '日本語2': 1,.....}
c = listhoge[a[0]]
で「日本語1は0」という結果を得たいのですが、
c = listhoge[a[0]]のところで
KeyError: '\udce6\udc97\udca5\udce6\udc9c\udcac\udce8\udcaa\udc9e1'
となってしまいます。
c = listhoge['日本語1']
なら、cは期待通り0が代入されます。
print(a)
#日本語1 日本語2
print(a[0])
print(a[1])
#日本語1
#日本語2
で、引数自体は受け取れているようなのですが、
if a[0] == '日本語1':
print('OK')
else:
print('NG')
の結果は「NG」です。
listhogeに正しく値を渡すには、どうしたらよいでしょうか。ご教示よろしくお願いします。
PHP(こっちもUTF-8)から引数を受け取ってPyhonで処理するプログラムを作っています。まずPHP側で
$arg = '日本語1 日本語2';
$cmd = 'python3 python.py "'.$arg.'"';
exec($cmd, $output);
とやって、python.pyで
import sys
a = sys.argv[1]
b = a.split(' ')
#listhoge{'日本語1': 0, '日本語2': 1,.....}
c = listhoge[a[0]]
で「日本語1は0」という結果を得たいのですが、
c = listhoge[a[0]]のところで
KeyError: '\udce6\udc97\udca5\udce6\udc9c\udcac\udce8\udcaa\udc9e1'
となってしまいます。
c = listhoge['日本語1']
なら、cは期待通り0が代入されます。
print(a)
#日本語1 日本語2
print(a[0])
print(a[1])
#日本語1
#日本語2
で、引数自体は受け取れているようなのですが、
if a[0] == '日本語1':
print('OK')
else:
print('NG')
の結果は「NG」です。
listhogeに正しく値を渡すには、どうしたらよいでしょうか。ご教示よろしくお願いします。
2018/08/25(土) 10:17:20.53ID:5go0Mg15
2018/08/25(土) 10:38:37.45ID:H9tlLYtz
>>10
すみません!コードを抽象化するときに書き間違えました。
a[0].a[1]のところは、正しくはb[0].b[1]です。
せっかく教えていただいたのにすみません。
b[0]を日本語1と評価されるようにするにはどうしたらよいでしょうか。
すみません!コードを抽象化するときに書き間違えました。
a[0].a[1]のところは、正しくはb[0].b[1]です。
せっかく教えていただいたのにすみません。
b[0]を日本語1と評価されるようにするにはどうしたらよいでしょうか。
2018/08/25(土) 10:53:10.81ID:5go0Mg15
2018/08/25(土) 11:10:46.62ID:H9tlLYtz
>>12
コピペで試しているので、文字列は同一だと思います。
今、試しにコマンドラインでスクリプトに引数を渡すと、コンソール上では期待通りの動作をしました。
PHPからだと、print出力的には同一に見えるけど別なデータになっているということでしょうか
コピペで試しているので、文字列は同一だと思います。
今、試しにコマンドラインでスクリプトに引数を渡すと、コンソール上では期待通りの動作をしました。
PHPからだと、print出力的には同一に見えるけど別なデータになっているということでしょうか
2018/08/25(土) 11:31:58.85ID:5go0Mg15
>>13
PHPから受け取ったのがstrじゃなくてbyte型なのかな?type()で調べてみたら?
PHPから受け取ったのがstrじゃなくてbyte型なのかな?type()で調べてみたら?
2018/08/25(土) 11:46:56.88ID:kfh++Yrt
必要なとこだけコピペで貼ってくれ
2018/08/25(土) 11:50:43.54ID:H9tlLYtz
2018/08/25(土) 13:02:46.63ID:H9tlLYtz
>>15
すみません。これでいかがでしょうか。
PHP 7.2
$cmd = 'python3 python.py "日本語1 日本語2"';
exec($cmd, $output);
Python 3.6.5
# coding: utf-8
import sys
listhoge = {"日本語1":0, "日本語2":1}
a = sys.argv[1]
b = a.split(' ')
c = listhoge[b[0]]
error.log
Traceback (most recent call last):
File "python.py", line 23, in <module>
c = listhoge[b[0]]
KeyError: '\udce6\udc97\udca5\udce6\udc9c\udcac\udce8\udcaa\udc9e1'
すみません。これでいかがでしょうか。
PHP 7.2
$cmd = 'python3 python.py "日本語1 日本語2"';
exec($cmd, $output);
Python 3.6.5
# coding: utf-8
import sys
listhoge = {"日本語1":0, "日本語2":1}
a = sys.argv[1]
b = a.split(' ')
c = listhoge[b[0]]
error.log
Traceback (most recent call last):
File "python.py", line 23, in <module>
c = listhoge[b[0]]
KeyError: '\udce6\udc97\udca5\udce6\udc9c\udcac\udce8\udcaa\udc9e1'
2018/08/25(土) 14:30:45.41ID:kfh++Yrt
2018/08/25(土) 14:50:58.87ID:H9tlLYtz
2018/08/25(土) 18:14:21.70ID:P/kKO950
また今日も天才に救われた人が居るな、解決おめでとう!
2018/08/26(日) 01:55:23.42ID:TJFxEnkY
プログラム初学者ですが、入門書を買って勉強しております。
複合代入演算子の項を見ていたら1点疑問があり、
who = '猫'
text = ''
text += '吾輩は'
text += who
text += 'である。'
print(text)
これ本では2行目の''が大事だと書かれているんですが、省略して
who = '猫'
text = '吾輩は'
text += who
text += 'である。'
print(text)
とするのはだめなのでしょうか?
初歩的な質問ですみません。
複合代入演算子の項を見ていたら1点疑問があり、
who = '猫'
text = ''
text += '吾輩は'
text += who
text += 'である。'
print(text)
これ本では2行目の''が大事だと書かれているんですが、省略して
who = '猫'
text = '吾輩は'
text += who
text += 'である。'
print(text)
とするのはだめなのでしょうか?
初歩的な質問ですみません。
22デフォルトの名無しさん
2018/08/26(日) 02:11:05.36ID:xGLfO5+N >>21
text += 'XXX'
で形が揃うから見やすいとかコピペや順序入れ替えが楽って以外の意味はないと思う
というか理由が書いてないならあまり良くない入門書だな
3.6以降ならf-stringを使って
text = f'我輩は{who}である'
のほうが良さげ
https://atsuoishimoto.hatenablog.com/entry/2016/12/25/122220
text += 'XXX'
で形が揃うから見やすいとかコピペや順序入れ替えが楽って以外の意味はないと思う
というか理由が書いてないならあまり良くない入門書だな
3.6以降ならf-stringを使って
text = f'我輩は{who}である'
のほうが良さげ
https://atsuoishimoto.hatenablog.com/entry/2016/12/25/122220
2018/08/26(日) 02:24:57.28ID:TJFxEnkY
2018/08/26(日) 04:17:09.95ID:L324XJEs
みんなのpythonって本はプログラム知識が殆ど無い入門者にお勧めできますか?
本屋で立ち読みしようと思ったんですけど無くて、アマゾンで調べたら評価はまちまちみたいで…
本屋で立ち読みしようと思ったんですけど無くて、アマゾンで調べたら評価はまちまちみたいで…
2018/08/26(日) 07:36:47.56ID:w0D5YFHr
この2冊は、既にプログラミングが出来る人向け。
数言語は知っていて、Ruby, Python を学ぶ人向け
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
以下の本は、プログラミング初心者でも読める。
スッキリわかる Java入門 第2版、2014
知らないけど、progate のサイトで勉強すれば?
数言語は知っていて、Ruby, Python を学ぶ人向け
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
以下の本は、プログラミング初心者でも読める。
スッキリわかる Java入門 第2版、2014
知らないけど、progate のサイトで勉強すれば?
2018/08/26(日) 07:44:31.55ID:KclbjBGL
>>21
同じように動くという意味では問題無い。
著者としては空の変数を定義することで
変数の宣言と値の代入を分離したかったんじゃないかな?
pythonでは変数を明示的に宣言だけすることはできないから、
同じように動くという意味では問題無い。
著者としては空の変数を定義することで
変数の宣言と値の代入を分離したかったんじゃないかな?
pythonでは変数を明示的に宣言だけすることはできないから、
2018/08/26(日) 07:49:32.68ID:KclbjBGL
2018/08/26(日) 07:58:14.06ID:L324XJEs
2925
2018/08/26(日) 09:57:49.56ID:w0D5YFHr 読む順番としては、先に「たのしいRuby」を3回読むと、
「みんなのPython」が楽に読める
「みんなのPython」を先に読むと、内容が薄くて、現実味が無いかも。
つまり、よくわからない
たのしいの方が、正規表現とか、内容が濃い
「みんなのPython」が楽に読める
「みんなのPython」を先に読むと、内容が薄くて、現実味が無いかも。
つまり、よくわからない
たのしいの方が、正規表現とか、内容が濃い
2018/08/26(日) 10:32:43.51ID:L324XJEs
>>29
そうなんですね。みんなのpythonの方が表紙にでっかく絵が書いてあったり
堅苦しい内容じゃなさそうで入門向けで良いのかなって思ったんですが内容ないんですね…
わかりました。たのしいruby買います。アドバイスありがとうございます
そうなんですね。みんなのpythonの方が表紙にでっかく絵が書いてあったり
堅苦しい内容じゃなさそうで入門向けで良いのかなって思ったんですが内容ないんですね…
わかりました。たのしいruby買います。アドバイスありがとうございます
2018/08/26(日) 12:18:03.60ID:Y1vMA8RK
2018/08/26(日) 17:39:56.34ID:O9adGcKd
もうrubyをNGしてもいいぐらい
2018/08/26(日) 18:15:35.15ID:wR7TFJf0
ガイジに優しくしよう
2018/08/26(日) 19:59:11.67ID:7VGl0ROF
脈略のないrubyコードの貼り付け、ruby本の紹介は禁止ってテンプレに入れておいてくれ
3525
2018/08/26(日) 23:41:34.26ID:w0D5YFHr Ruby, Python, JavaScript というのは、単なる各言語の文法書。
プログラミングの本じゃない
オブジェクト指向・クロージャ・スコープ・this などの概念を、学べるわけではない。
文法書を読んでも、プログラミングは出来ない
文法書を読むとプログラミングができると、ほとんどの奴は勘違いしているけど、
「みんなのPython」を読んでも文法がわかるだけで、プログラミングが出来るようにはならない
「たのしいRuby」「スッキリわかる Java入門」などを読んで、
自分でクラスを派生させたり、CSVファイルを読み書きしたり、
Sinatra をいじくりまわしたり悪戦苦闘しながら、プログラミングを学ぶ
プログラミングを学ぶ部分は、Pythonじゃなくてもよい。
いじくりまわすのには、Rubyが最も簡単
プログラミングを学ぶには、各言語の「Effective 何々」という本を読む。
これは、プロの必須本。
文法書の次のレベルへ行かないと、プログラミング自体を学べない
プログラミングの本じゃない
オブジェクト指向・クロージャ・スコープ・this などの概念を、学べるわけではない。
文法書を読んでも、プログラミングは出来ない
文法書を読むとプログラミングができると、ほとんどの奴は勘違いしているけど、
「みんなのPython」を読んでも文法がわかるだけで、プログラミングが出来るようにはならない
「たのしいRuby」「スッキリわかる Java入門」などを読んで、
自分でクラスを派生させたり、CSVファイルを読み書きしたり、
Sinatra をいじくりまわしたり悪戦苦闘しながら、プログラミングを学ぶ
プログラミングを学ぶ部分は、Pythonじゃなくてもよい。
いじくりまわすのには、Rubyが最も簡単
プログラミングを学ぶには、各言語の「Effective 何々」という本を読む。
これは、プロの必須本。
文法書の次のレベルへ行かないと、プログラミング自体を学べない
2018/08/27(月) 00:26:43.00ID:lvpUeXXJ
Rubyは衰退していくだけのオワコン言語だから手を出したら負け組だよ
2018/08/27(月) 00:53:03.94ID:HhBAi2Wr
Rubyみたいなオワコン言語の話は余所でやれ
2018/08/27(月) 02:33:22.67ID:+WOcodwf
スクリプトのやり方教えて下さい
認識できないって出るんですけど…
認識できないって出るんですけど…
2018/08/27(月) 03:15:17.22ID:yTR9Y+Mn
>>24
プログラミング未経験でオライリーの入門Pythonを買ってがんばってる
今のところついていけてるけど、
みんなのPythonはきっとイラストや絵が入ってて紙面もカラーなんだろうなって考えるとうらやましい
こっちは絵もイラストも全くないです
プログラミング未経験でオライリーの入門Pythonを買ってがんばってる
今のところついていけてるけど、
みんなのPythonはきっとイラストや絵が入ってて紙面もカラーなんだろうなって考えるとうらやましい
こっちは絵もイラストも全くないです
2018/08/27(月) 03:17:20.38ID:yTR9Y+Mn
2018/08/27(月) 03:21:04.08ID:yTR9Y+Mn
プログラミング自体を学ぶのにこれはどうですか?
初めてのプログラミング
https://www.oreilly.co.jp/books/9784873114699/
PythonじゃなくてRubyで説明されてるみたいなんですけど
初めてのプログラミング
https://www.oreilly.co.jp/books/9784873114699/
PythonじゃなくてRubyで説明されてるみたいなんですけど
2018/08/27(月) 06:12:09.02ID:ba8BcfX3
与えられた2つの数値から、最小公倍数・最大公約数を求めてみろ
43デフォルトの名無しさん
2018/08/27(月) 07:06:23.18ID:A3+vkFVR >>41
pythonなら「独学プログラマーーpython」がある。
pythonなら「独学プログラマーーpython」がある。
2018/08/27(月) 07:25:20.50ID:fqwvA6xk
スタートブックとかの方が分かりやすいんじゃないの?
プログラム初心者なら
プログラム初心者なら
45デフォルトの名無しさん
2018/08/27(月) 12:18:58.34ID:Q4eMB8Ps >>42
互除法
互除法
2018/08/27(月) 21:06:47.86ID:KW/ftoFq
subprocessについてなんですが、
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import sys
import subprocess
dl = subprocess.run(["radigo", "rec", "-a=JP13", "-id=QRR", "-s=20180827200000"], stdout=subprocess.PIPE)
sys.stdout.buffer.write(dl.stdout)
上記のような場合、変数を引数の一部として渡すにはどうやるんですか?
以下だと{proglamId}という文字列として外部コマンドに送られてしまってダメでした。
area = 'JP13'
ch = 'QRR'
proglamId = '20180827200000'
dl = subprocess.run(["radigo", "rec", "-a={area}", "-id={ch}", "-s={proglamId}"], stdout=subprocess.PIPE)
sys.stdout.buffer.write(dl.stdout)
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import sys
import subprocess
dl = subprocess.run(["radigo", "rec", "-a=JP13", "-id=QRR", "-s=20180827200000"], stdout=subprocess.PIPE)
sys.stdout.buffer.write(dl.stdout)
上記のような場合、変数を引数の一部として渡すにはどうやるんですか?
以下だと{proglamId}という文字列として外部コマンドに送られてしまってダメでした。
area = 'JP13'
ch = 'QRR'
proglamId = '20180827200000'
dl = subprocess.run(["radigo", "rec", "-a={area}", "-id={ch}", "-s={proglamId}"], stdout=subprocess.PIPE)
sys.stdout.buffer.write(dl.stdout)
47デフォルトの名無しさん
2018/08/27(月) 21:26:41.39ID:6eK9kwOU2018/08/27(月) 21:33:33.15ID:KW/ftoFq
2018/08/27(月) 21:56:03.71ID:KW/ftoFq
>>48
出来ました。
パターン1
area = 'JP13'
ch = 'QRR'
proglamId = '20180827200000'
dl = subprocess.run(["radigo", "rec", f'-a={area}', f'-id={ch}', f'-s={proglamId}'], stdout=subprocess.PIPE)
パターン2
area = 'JP13'
area = f'-a={area}'
ch = 'QRR'
ch = f'-id={ch}'
proglamId = '20180827200000'
proglamId = f'-s={proglamId}'
dl = subprocess.run(["radigo", "rec", area, ch, proglamId], stdout=subprocess.PIPE)
sys.stdout.buffer.write(dl.stdout)
どっちがスマートな書き方ですか?
出来ました。
パターン1
area = 'JP13'
ch = 'QRR'
proglamId = '20180827200000'
dl = subprocess.run(["radigo", "rec", f'-a={area}', f'-id={ch}', f'-s={proglamId}'], stdout=subprocess.PIPE)
パターン2
area = 'JP13'
area = f'-a={area}'
ch = 'QRR'
ch = f'-id={ch}'
proglamId = '20180827200000'
proglamId = f'-s={proglamId}'
dl = subprocess.run(["radigo", "rec", area, ch, proglamId], stdout=subprocess.PIPE)
sys.stdout.buffer.write(dl.stdout)
どっちがスマートな書き方ですか?
2018/08/27(月) 23:29:37.66ID:KW/ftoFq
muxx = subprocess.run(["muxer", f'-i input.aac?sbr', f'-o output.m4a', f'--optimize-pd', f'--file-format m4a'], stdout=subprocess.PIPE)
sys.stdout.buffer.write(muxx.stdout)
とやると、muxerコマンドからは
Error: you specified invalid option: -i input.aac?sbr.
と返ってきてしまいます。
muxx = subprocess.run(["muxer", "-i input.aac?sbr", "-o output.m4a", "--optimize-pd", "--file-format m4a"], stdout=subprocess.PIPE)
sys.stdout.buffer.write(muxx.stdout)
これでも上記と同じエラーになり、
muxx = subprocess.run([f'muxer -i input.aac?sbr -o output.m4a --optimize-pd --file-format m4a'], stdout=subprocess.PIPE)
sys.stdout.buffer.write(muxx.stdout)
これだとPythonがエラーになってしまいました。
Usageは
muxer [global_options] -i input1 [-i input2 -i input3 ...] -o output
です。
コンソールで以下のようにやると正常に動いてくれます。
$ muxer -i input.aac?sbr -o output.m4a --optimize-pd --file-format m4a
何がいけないんでしょうか?
sys.stdout.buffer.write(muxx.stdout)
とやると、muxerコマンドからは
Error: you specified invalid option: -i input.aac?sbr.
と返ってきてしまいます。
muxx = subprocess.run(["muxer", "-i input.aac?sbr", "-o output.m4a", "--optimize-pd", "--file-format m4a"], stdout=subprocess.PIPE)
sys.stdout.buffer.write(muxx.stdout)
これでも上記と同じエラーになり、
muxx = subprocess.run([f'muxer -i input.aac?sbr -o output.m4a --optimize-pd --file-format m4a'], stdout=subprocess.PIPE)
sys.stdout.buffer.write(muxx.stdout)
これだとPythonがエラーになってしまいました。
Usageは
muxer [global_options] -i input1 [-i input2 -i input3 ...] -o output
です。
コンソールで以下のようにやると正常に動いてくれます。
$ muxer -i input.aac?sbr -o output.m4a --optimize-pd --file-format m4a
何がいけないんでしょうか?
2018/08/28(火) 00:20:33.07ID:TEJeUOom
端末で入力すると、シェルが、? の機能を動かすけど、
subprocess で、プロセスを直接起動すると、
シェルが介入しないから、? が展開されないとか?
subprocess で、プロセスを直接起動すると、
シェルが介入しないから、? が展開されないとか?
2018/08/28(火) 00:26:18.50ID:wjmNvrcp
>>51
?sbrの部分を省いてもエラーは改善しなかったです
?sbrの部分を省いてもエラーは改善しなかったです
2018/08/28(火) 05:00:41.28ID:PEha72vP
shell=true
とかは? と muxer なんて知らないくせに適当に言ってみる
とかは? と muxer なんて知らないくせに適当に言ってみる
2018/08/28(火) 05:07:01.91ID:PEha72vP
ん?
その前に
stdout=subprocess.PIPE)
sys.stdout.buffer.write(muxx.stdout)
の部分って必要なの?
その前に
stdout=subprocess.PIPE)
sys.stdout.buffer.write(muxx.stdout)
の部分って必要なの?
2018/08/28(火) 08:35:42.53ID:M3D05fOs
2018/08/28(火) 08:36:39.19ID:skYXWt6l
>>50
上2つは "-i input.aac?sbr" がオプションとして認識されてそう。'-i', f'input.aac?sbr' とかで分けてくれ
3つ目は shell=True で動く(/bin/sh -c 'muxer ....' と展開される)
シェルインジェクションとかあるので、お作法として shell=True はあまり使わないほうがいいかな
詳しくはマニュアル参照
>>49
書き方は好みだからなんとも言えんなー俺ならこんな感じで書く
arg = 'hoge'
cmd = f'bash tst_cmd.sh {arg}'
resp = subprocess.run(cmd.split(), stdout=subprocess.PIPE)
スペース入りファイル名とか使うなら、パーサー作って食わすかな
import csv
def CMD_PARSER(cmd):
....return list(csv.reader([cmd], delimiter=' ', quotechar='"'))[0]
arg = 'hoge foo'
cmd = f'bash tst_cmd.sh "{arg}"'
resp = subprocess.run(CMD_PARSER(cmd), stdout=subprocess.PIPE)
上2つは "-i input.aac?sbr" がオプションとして認識されてそう。'-i', f'input.aac?sbr' とかで分けてくれ
3つ目は shell=True で動く(/bin/sh -c 'muxer ....' と展開される)
シェルインジェクションとかあるので、お作法として shell=True はあまり使わないほうがいいかな
詳しくはマニュアル参照
>>49
書き方は好みだからなんとも言えんなー俺ならこんな感じで書く
arg = 'hoge'
cmd = f'bash tst_cmd.sh {arg}'
resp = subprocess.run(cmd.split(), stdout=subprocess.PIPE)
スペース入りファイル名とか使うなら、パーサー作って食わすかな
import csv
def CMD_PARSER(cmd):
....return list(csv.reader([cmd], delimiter=' ', quotechar='"'))[0]
arg = 'hoge foo'
cmd = f'bash tst_cmd.sh "{arg}"'
resp = subprocess.run(CMD_PARSER(cmd), stdout=subprocess.PIPE)
2018/08/28(火) 08:39:26.15ID:M3D05fOs
空白が混じってると
> 一般に、引数のシーケンスを渡す方が望ましいです。なぜなら、モジュールが必要な引数のエスケープやクオート
> (例えばファイル名中のスペースを許すこと) の面倒を見ることができるためです
によってエスケープされるので意図通りにシステムコールに渡らないわけだな
> 一般に、引数のシーケンスを渡す方が望ましいです。なぜなら、モジュールが必要な引数のエスケープやクオート
> (例えばファイル名中のスペースを許すこと) の面倒を見ることができるためです
によってエスケープされるので意図通りにシステムコールに渡らないわけだな
2018/08/28(火) 10:16:39.79ID:wjmNvrcp
みなさんどうもありがとうございます
>>55
>>56
>>57
「-i ファイル名」の形式で書かないといけないので「-i」と「ファイル名」で分けて書くという頭が全くなかったです。
muxx = subprocess.run(["muxer", "-i", "input.aac?sbr", "-o", "output.m4a", "--optimize-pd", "--file-format", "m4a"], stdout=subprocess.PIPE)
と分けて書くとうまくいきました。
>>53
>>56
shell=trueについて調べてみます
>>54
この書き方だとsubprocess.callとsubprocess.check_callとsubprocess.check_outputの3つがまとめて出来るらしいのでこれで書きました
>>55
>>56
>>57
「-i ファイル名」の形式で書かないといけないので「-i」と「ファイル名」で分けて書くという頭が全くなかったです。
muxx = subprocess.run(["muxer", "-i", "input.aac?sbr", "-o", "output.m4a", "--optimize-pd", "--file-format", "m4a"], stdout=subprocess.PIPE)
と分けて書くとうまくいきました。
>>53
>>56
shell=trueについて調べてみます
>>54
この書き方だとsubprocess.callとsubprocess.check_callとsubprocess.check_outputの3つがまとめて出来るらしいのでこれで書きました
2018/08/28(火) 14:55:03.72ID:WFu4qQCr
find関数で
line.find('a')だと部分一致で返してくれるんですが
c=input() aと入力して
line.find(c)とすると完全一致でしか返してくれないんですがどうすればいいですか
line.find('a')だと部分一致で返してくれるんですが
c=input() aと入力して
line.find(c)とすると完全一致でしか返してくれないんですがどうすればいいですか
2018/08/28(火) 16:02:01.79ID:eDasHWl3
んなこたぁない。
61デフォルトの名無しさん
2018/08/29(水) 09:39:33.95ID:t35BnR1i python3m ってなんですか?
2018/08/29(水) 10:09:58.87ID:zNgJ3vFs
住友と関係が?
2018/08/29(水) 17:38:59.31ID:zHN7x4pt
xmlの属性を指定する場合、以下のどっちも同じ答えを返してくれるんですが、どっちで書くのがいいんでしょうか?
パターン1
duration1 = int(root.attrib["dur"])
print(duration1)
パターン2
duration2 = int(root.get("dur"))
print(duration2)
パターン1
duration1 = int(root.attrib["dur"])
print(duration1)
パターン2
duration2 = int(root.get("dur"))
print(duration2)
2018/08/29(水) 19:50:21.16ID:+JD/mPB3
BeautifulSoup前提で喋ってます?
もしそうなら、属性が存在する限りどちらでもよい
getは属性が存在しないときNoneを返すが、attribはそうではない
まあ試してみ
もしそうなら、属性が存在する限りどちらでもよい
getは属性が存在しないときNoneを返すが、attribはそうではない
まあ試してみ
2018/08/29(水) 19:54:41.40ID:zHN7x4pt
66デフォルトの名無しさん
2018/08/29(水) 21:03:23.42ID:LyGOIS06 すいません日付の計算で疑問なんですが、
aaa_date_str = '2018-08-29 20:00:00'
bbb_date_str = '2018-08-29 19:00:00'
aaa_date = datetime.datetime.strptime(aaa_date_str, '%Y-%m-%d %H:%M:%S')
bbb_date = datetime.datetime.strptime(bbb_date_str, '%Y-%m-%d %H:%M:%S')
として、
date_diff = aaa_date - bbb_date
print(date_diff.days)
--> 0
になりますが、逆にすると、
date_diff = bbb_date - aaa_date
print(date_diff.days)
--> -1
になります。
差異が1日に満たなければゼロになるのかと思いきや
計算結果が負だとゼロにならずに-1になるのがなんか疑問です。
それとも記述に問題あるでしょうか。
aaa_date_str = '2018-08-29 20:00:00'
bbb_date_str = '2018-08-29 19:00:00'
aaa_date = datetime.datetime.strptime(aaa_date_str, '%Y-%m-%d %H:%M:%S')
bbb_date = datetime.datetime.strptime(bbb_date_str, '%Y-%m-%d %H:%M:%S')
として、
date_diff = aaa_date - bbb_date
print(date_diff.days)
--> 0
になりますが、逆にすると、
date_diff = bbb_date - aaa_date
print(date_diff.days)
--> -1
になります。
差異が1日に満たなければゼロになるのかと思いきや
計算結果が負だとゼロにならずに-1になるのがなんか疑問です。
それとも記述に問題あるでしょうか。
67デフォルトの名無しさん
2018/08/29(水) 21:09:31.82ID:GQLl9uCt68デフォルトの名無しさん
2018/08/30(木) 10:23:36.80ID:S/vwwZyF int()とかと一緒か
[0.5]=0
[-0.5]=-1
[0.5]=0
[-0.5]=-1
2018/08/30(木) 21:55:04.51ID:hf8/OGEv
70デフォルトの名無しさん
2018/08/30(木) 21:59:01.86ID:Ffnu7dR5 >>69
68が言ってるようにたぶん四捨五入なんだず
68が言ってるようにたぶん四捨五入なんだず
71デフォルトの名無しさん
2018/08/30(木) 21:59:56.98ID:Ffnu7dR5 おっと 1時間でも -1ってでるのか
じゃあ
時間は切り捨てじゃなくて四捨五入でもなくて切り上げになってんだ
じゃあ
時間は切り捨てじゃなくて四捨五入でもなくて切り上げになってんだ
72デフォルトの名無しさん
2018/08/30(木) 22:19:45.36ID:Ffnu7dR5 おっと
おれのうしろで
おれのいもうとが
「そのマイナス1はエラー値であって 数値じゃない diff.daysはぬるぽしない」
といっている
おれのうしろで
おれのいもうとが
「そのマイナス1はエラー値であって 数値じゃない diff.daysはぬるぽしない」
といっている
73デフォルトの名無しさん
2018/08/30(木) 22:29:53.78ID:Ffnu7dR5 それから
なぜ print(date_diff)してみないんだ
ともいっている
なぜ print(date_diff)してみないんだ
ともいっている
74デフォルトの名無しさん
2018/08/30(木) 22:42:08.44ID:Ffnu7dR5 おれは
aaa_date + date_diff
をためしてみてから、
timedeltaについての説明を読みに行くことを最終的におすすぬする。
aaa_date + date_diff
をためしてみてから、
timedeltaについての説明を読みに行くことを最終的におすすぬする。
2018/08/30(木) 23:01:55.56ID:TEO8FkA/
別マシンで書いたスクリプトを動かそうとしたら
dateutilが無いと言われ実行出来ません。
スクリプトにはこう書きました。
from dateutil.relativedelta import relativedelta
動いたマシンのPythonのバージョンは3.6.4、
動かないマシンのPythonのバージョンは3.6.5です。
dateutilはどこで入手するんでしょうか?
dateutilが無いと言われ実行出来ません。
スクリプトにはこう書きました。
from dateutil.relativedelta import relativedelta
動いたマシンのPythonのバージョンは3.6.4、
動かないマシンのPythonのバージョンは3.6.5です。
dateutilはどこで入手するんでしょうか?
2018/08/30(木) 23:04:27.25ID:TEO8FkA/
すみません
pip で dateutilsを入れたら使えました。
pip で dateutilsを入れたら使えました。
77デフォルトの名無しさん
2018/08/31(金) 04:09:39.70ID:rWvqNQHt python 3.6
windows10
import pyautogui
pyautogui.rightClick(100,100)
pyautogui.moveRel(10,10)
と書くと右クリックのあとマウスが動いてくれない。
これはライブラリのバグ?
windows10
import pyautogui
pyautogui.rightClick(100,100)
pyautogui.moveRel(10,10)
と書くと右クリックのあとマウスが動いてくれない。
これはライブラリのバグ?
78デフォルトの名無しさん
2018/08/31(金) 04:37:56.39ID:rWvqNQHt ごめん動いてた
2018/08/31(金) 09:38:10.61ID:cxARIA2x
罰としてお前の突起という突起をクリックしてやる
2018/08/31(金) 19:38:51.59ID:IH56D7c/
Dropboxの共有リンクを取得したいです。
dropbox.Dropbox(トークン).sharing_create_shared_link
を使うと、例えば
PathLinkMetadata(url='https://db.tt/xxxxxxx', visibility=Visibility('public', None), path='/hoge/hage.jpg', expires=None)
こういう1行が出力されます。
sharing_create_shared_link以外の関数で、
https://db.tt/xxxxxxxだけを出力する関数ってありますか?
続く
dropbox.Dropbox(トークン).sharing_create_shared_link
を使うと、例えば
PathLinkMetadata(url='https://db.tt/xxxxxxx', visibility=Visibility('public', None), path='/hoge/hage.jpg', expires=None)
こういう1行が出力されます。
sharing_create_shared_link以外の関数で、
https://db.tt/xxxxxxxだけを出力する関数ってありますか?
続く
2018/08/31(金) 19:39:30.70ID:IH56D7c/
sharing_create_shared_linkだと、以下のようになります。
import dropbox
dbxTOKEN = 'DROPBOX_MY_ACCESS_TOKEN'
dbxRemotePath = f'/aiueo/hage.jpg'
dbx = dropbox.Dropbox(dbxTOKEN)
dbx.users_get_current_account()
# アップロード
f = open(dbxLocalPath, 'rb')
dbx.files_upload(f.read(),dbxRemotePath)
f.close()
# 共有リンクの取得
dbxLink = dbx.sharing_create_shared_link(dbxRemotePath,short_url=True) # Dropbox から共有リンクを取得
dbxLink = str(dbxLink)[17:-1] # 整形 「PathLinkMetadata(」と「)」を除外
dbxLink = dbxLink.split(',') # リストに変換
dbxLink = dbxLink[0] # リストの1番目 (url)
dbxLink = str(dbxLink)[5:-1] # 整形
print(dbxLink)
https://db.tt/xxxxxxx # プリントされたurl
つづく
import dropbox
dbxTOKEN = 'DROPBOX_MY_ACCESS_TOKEN'
dbxRemotePath = f'/aiueo/hage.jpg'
dbx = dropbox.Dropbox(dbxTOKEN)
dbx.users_get_current_account()
# アップロード
f = open(dbxLocalPath, 'rb')
dbx.files_upload(f.read(),dbxRemotePath)
f.close()
# 共有リンクの取得
dbxLink = dbx.sharing_create_shared_link(dbxRemotePath,short_url=True) # Dropbox から共有リンクを取得
dbxLink = str(dbxLink)[17:-1] # 整形 「PathLinkMetadata(」と「)」を除外
dbxLink = dbxLink.split(',') # リストに変換
dbxLink = dbxLink[0] # リストの1番目 (url)
dbxLink = str(dbxLink)[5:-1] # 整形
print(dbxLink)
https://db.tt/xxxxxxx # プリントされたurl
つづく
2018/08/31(金) 19:40:14.75ID:IH56D7c/
文字列を分割してその中の一部を取り出す方法ですが、
PathLinkMetadata(url='https://db.tt/xxxxxxx', visibility=Visibility('public', None), path='/hoge/hage.jpg', expires=None)
こういう1行があったとして、
url='https://db.tt/xxxxxxx',
visibility=Visibility('public', None),
path='/hoge/hage.jpg',
expires=None
こんなふうに分割したいです。
split(',')でやるとpublic', Noneここのコンマでも反応してしまいます。
今回はurlの取得が目的なので今の所実害は無いんですが、もっと簡単にdorpboxの共有リンクを取得したり確実な文字列の分割方法を知りたいです。
PathLinkMetadata(url='https://db.tt/xxxxxxx', visibility=Visibility('public', None), path='/hoge/hage.jpg', expires=None)
こういう1行があったとして、
url='https://db.tt/xxxxxxx',
visibility=Visibility('public', None),
path='/hoge/hage.jpg',
expires=None
こんなふうに分割したいです。
split(',')でやるとpublic', Noneここのコンマでも反応してしまいます。
今回はurlの取得が目的なので今の所実害は無いんですが、もっと簡単にdorpboxの共有リンクを取得したり確実な文字列の分割方法を知りたいです。
83デフォルトの名無しさん
2018/09/01(土) 12:32:11.32ID:Z1lBiRzX >>82
ずいぶん遠回りしてるけど、
a=dropbox.Dropbox(トークン).sharing_create_shared_link
として、
a.url
を参照すれば良いのでは?
他についても
a.path とかで参照できるはず
ずいぶん遠回りしてるけど、
a=dropbox.Dropbox(トークン).sharing_create_shared_link
として、
a.url
を参照すれば良いのでは?
他についても
a.path とかで参照できるはず
2018/09/01(土) 15:22:01.82ID:5RO4iQNV
すいません、ハマって困っています。
utf-8のテキストファイル(内容は'1'という文字のみ)を、python3の以下のスクリプトで
読み込んで、整数に変換しようとすると、以下のエラーが出て困っています。
Traceback (most recent call last):
File "collect_progress.py", line 75, in <module>
num = int(str)
ValueError: invalid literal for int() with base 10: '\ufeff1'
ユニコードの文字列は整数変換できないのでしょうか。
fr = open("sample.txt")
str = fr.readline()
num = int(str)
utf-8のテキストファイル(内容は'1'という文字のみ)を、python3の以下のスクリプトで
読み込んで、整数に変換しようとすると、以下のエラーが出て困っています。
Traceback (most recent call last):
File "collect_progress.py", line 75, in <module>
num = int(str)
ValueError: invalid literal for int() with base 10: '\ufeff1'
ユニコードの文字列は整数変換できないのでしょうか。
fr = open("sample.txt")
str = fr.readline()
num = int(str)
85デフォルトの名無しさん
2018/09/01(土) 15:26:08.43ID:VfnjVYeD BOMついてないか
2018/09/01(土) 15:37:12.61ID:kUpkBQ3x
echo 1 | ruby -e 'STDIN.each { |line| puts(line.to_i + 1) }'
Ruby なら、シェルから、1-liner で、2 と出力される
Python でも同じように、1-liner でやってみれば?
Ruby なら、シェルから、1-liner で、2 と出力される
Python でも同じように、1-liner でやってみれば?
87デフォルトの名無しさん
2018/09/01(土) 15:55:11.65ID:A/mNPeDe >>84
open("sample.txt", encoding="utf-8-sig")
> いくつかの領域では、UTF-8 でエンコードされたファイルの先頭に "BOM" を利用する習慣があります;
中略
> もし、そのようなファイルを読む場合には、この印を自動的にスキップするために 'utf-8-sig' コーデックを利用してください。
https://docs.python.org/ja/3/howto/unicode.html#reading-and-writing-unicode-data
open("sample.txt", encoding="utf-8-sig")
> いくつかの領域では、UTF-8 でエンコードされたファイルの先頭に "BOM" を利用する習慣があります;
中略
> もし、そのようなファイルを読む場合には、この印を自動的にスキップするために 'utf-8-sig' コーデックを利用してください。
https://docs.python.org/ja/3/howto/unicode.html#reading-and-writing-unicode-data
2018/09/01(土) 16:02:39.43ID:kUpkBQ3x
プログラムでは、BOMなしUTF-8 (UTF-8N)を使った方が無難
その代わり、Windows のExplorer ではテキスト検索できなくなるから、
Windows10・WSL・Ubuntu から、grep してる
その代わり、Windows のExplorer ではテキスト検索できなくなるから、
Windows10・WSL・Ubuntu から、grep してる
2018/09/01(土) 16:30:27.70ID:eWdCnGo4
2018/09/01(土) 16:55:46.47ID:5RO4iQNV
91デフォルトの名無しさん
2018/09/01(土) 20:51:46.35ID:5sfxmNQl2018/09/01(土) 23:59:25.43ID:eWdCnGo4
93デフォルトの名無しさん
2018/09/02(日) 05:35:01.36ID:0w6R8dvF Python初心者(プログラミング初心者)です。
スクレイピングをしようとしていたら躓いてしまったので質問をさせてください。
requestsで変数htmlに入れたサイトのhtmlをファイルに保存したいのですが良く分かりませんでした。
file.writeみたいなのも書いてみてるんですがエラー吐かれたりします。誰か例として作ってくれませんか?
requests.getで変数htmlに取得したサイトhtmlをc:/user/hoge/Documents/hymlfile.htmlに追記モードで保存したいです。
無能でごめんなさい助けてください。
スクレイピングをしようとしていたら躓いてしまったので質問をさせてください。
requestsで変数htmlに入れたサイトのhtmlをファイルに保存したいのですが良く分かりませんでした。
file.writeみたいなのも書いてみてるんですがエラー吐かれたりします。誰か例として作ってくれませんか?
requests.getで変数htmlに取得したサイトhtmlをc:/user/hoge/Documents/hymlfile.htmlに追記モードで保存したいです。
無能でごめんなさい助けてください。
2018/09/02(日) 07:13:26.28ID:5WqNet32
File.open(file_path, 'a') { |io| io.write text }
Ruby では、File.open の引数に、
ファイルパスと、ファイルを開く際の、mode を渡す
a なら追記書き込み
「python file write」で検索!
Ruby では、File.open の引数に、
ファイルパスと、ファイルを開く際の、mode を渡す
a なら追記書き込み
「python file write」で検索!
2018/09/02(日) 08:24:22.51ID:GLq4HnWW
import requests
r = requests.get("https://www.python.org")
f = open("c:/user/hoge/Documents/hymlfile.html", "a")
f.write(r.text)
r = requests.get("https://www.python.org")
f = open("c:/user/hoge/Documents/hymlfile.html", "a")
f.write(r.text)
96デフォルトの名無しさん
2018/09/02(日) 09:00:47.26ID:0w6R8dvF97デフォルトの名無しさん
2018/09/02(日) 16:47:00.30ID:RE+xVvI9 f.write(r.text)
UnicodeEncodeError: 'cp932' codec can't encode character '\U0001f5a5' in position 12657: illegal multibyte sequence
スクレイピングしたサイトに絵文字があると(?)このエラーが起こるようです。
エンコーディングの関係だと思うんですけど対処法分かる方いますか?
UnicodeEncodeErrorで調べたら解説しているところが少し見つかったんですが僕には何が言いたいのかさっぱりでした。。。。
UnicodeEncodeError: 'cp932' codec can't encode character '\U0001f5a5' in position 12657: illegal multibyte sequence
スクレイピングしたサイトに絵文字があると(?)このエラーが起こるようです。
エンコーディングの関係だと思うんですけど対処法分かる方いますか?
UnicodeEncodeErrorで調べたら解説しているところが少し見つかったんですが僕には何が言いたいのかさっぱりでした。。。。
98デフォルトの名無しさん
2018/09/02(日) 16:56:55.96ID:RE+xVvI9 f.openの時にencoding='utf-8'渡したら解決しました!!
うれしい!!!ありがとう
うれしい!!!ありがとう
2018/09/02(日) 16:59:32.33ID:5WqNet32
cp932 はやめて、BOMなしUTF-8(UTF-8N)で書き込めば?
それか、エンコード変換できない文字は、
エラーにせずに、? に置き換えるとか
それか、エンコード変換できない文字は、
エラーにせずに、? に置き換えるとか
100デフォルトの名無しさん
2018/09/02(日) 17:49:53.80ID:B4IY8jcq ElementTree、lxml、BeautifulSoupってそれぞれどう違うの?
101デフォルトの名無しさん
2018/09/02(日) 17:51:26.55ID:B4IY8jcq ElementTreeは純正
lxml、BeautifulSoupはサードパーティ
lxmlは高速だけど、動的なサイトに弱い
BeautifulSoupは比較的簡単
って感じ?
lxml、BeautifulSoupはサードパーティ
lxmlは高速だけど、動的なサイトに弱い
BeautifulSoupは比較的簡単
って感じ?
102デフォルトの名無しさん
2018/09/02(日) 19:12:56.97ID:dvfcpVZJ 何が言いたいのか
103デフォルトの名無しさん
2018/09/02(日) 19:26:55.59ID:/VgxTU/I 開けっ放しにするんはいけんよ
104デフォルトの名無しさん
2018/09/02(日) 20:28:17.67ID:NdoNeabl lxml 言う程速さを感じないんだよな
105デフォルトの名無しさん
2018/09/03(月) 01:13:17.00ID:IUTdxFc1 import requests
from lxml import etree
url = http://example.com
res = requests.get(url)
res.raise_for_status()
xmlroot = etree.fromstring(res.content)
progroot = xmlroot.find(なになに)
aaa = progroot.find(info)
print(aaa)
<Element info at xxxxxx>
がプリントされます。
aaa = progroot.find(info).text
とすると、
<div class="station_content_description "><table border="0" cellpadding="5" > <tr> <td style="padding: 5px;">
<img src="https://example.com/aaa.jpg" height="60" width="60"alt="ふじこ"></td> </tr></table><br />
<br /> あいうえお<br />かきくけこ
<br /><br /> 番組Webサイト:<a href="http://example.com/">http://example.com/</a><br />
メッセージフォーム:<a href="http://example.com/mail.html">http://example.com/mail.html</a><br />
<br /></div>
がプリントされます。(投稿できなかったので途中で改行してます)
次に、本文はどうやって取り出すんでしょうか?
from lxml import etree
url = http://example.com
res = requests.get(url)
res.raise_for_status()
xmlroot = etree.fromstring(res.content)
progroot = xmlroot.find(なになに)
aaa = progroot.find(info)
print(aaa)
<Element info at xxxxxx>
がプリントされます。
aaa = progroot.find(info).text
とすると、
<div class="station_content_description "><table border="0" cellpadding="5" > <tr> <td style="padding: 5px;">
<img src="https://example.com/aaa.jpg" height="60" width="60"alt="ふじこ"></td> </tr></table><br />
<br /> あいうえお<br />かきくけこ
<br /><br /> 番組Webサイト:<a href="http://example.com/">http://example.com/</a><br />
メッセージフォーム:<a href="http://example.com/mail.html">http://example.com/mail.html</a><br />
<br /></div>
がプリントされます。(投稿できなかったので途中で改行してます)
次に、本文はどうやって取り出すんでしょうか?
106デフォルトの名無しさん
2018/09/03(月) 01:49:47.20ID:BfF9DJB1 要素の内側のテキストを収集するためには、itertext() を参照してください。例えば "".join(element.itertext()) のようにします。
107デフォルトの名無しさん
2018/09/03(月) 19:12:05.50ID:ttVcJTrG Ruby のNokogiri なら、CSS セレクター・XPath とか
jQuery でも、CSSセレクター
jQuery でも、CSSセレクター
108デフォルトの名無しさん
2018/09/06(木) 00:43:50.19ID:YKdnoVr6 ```python
hstg = info.get('hashtags')
print(hstg)
# hashtag
p_url = info['url']['short']
```
p_urlの行をget()だとどう書けばいいですか
辞書にアクセスした時存在しないキーだとNoneを返したいんでget()を使いたいんですが
hstg = info.get('hashtags')
print(hstg)
# hashtag
p_url = info['url']['short']
```
p_urlの行をget()だとどう書けばいいですか
辞書にアクセスした時存在しないキーだとNoneを返したいんでget()を使いたいんですが
109デフォルトの名無しさん
2018/09/06(木) 01:06:41.32ID:9wgcxN1e ようわからんが
info.get('url', {}).get('short')
とか?
若干無駄があるがこの程度の無駄が気になる神経症はCでも書いとけ
info.get('url', {}).get('short')
とか?
若干無駄があるがこの程度の無駄が気になる神経症はCでも書いとけ
110デフォルトの名無しさん
2018/09/06(木) 02:03:26.11ID:YKdnoVr6111デフォルトの名無しさん
2018/09/06(木) 14:42:12.77ID:tPMc56fx 馬鹿はオウム返しですぐ次の質問するよね
112デフォルトの名無しさん
2018/09/06(木) 15:13:17.47ID:QdhwFBW3 python 3.6.3
tkinter でファンクションキーを押したら文字列を表示させたいです
def text _desp(event):
label["text"] ="bcdef"
label =tk.Label(root, text ="aaaaa", )
label.bind('<F1>', text_desp)
label.pack
と書いて、表示したウィンドウをアクティブにしてからF1を押してもtextが入れ替わりません
原因は何でしょうか?
tkinter でファンクションキーを押したら文字列を表示させたいです
def text _desp(event):
label["text"] ="bcdef"
label =tk.Label(root, text ="aaaaa", )
label.bind('<F1>', text_desp)
label.pack
と書いて、表示したウィンドウをアクティブにしてからF1を押してもtextが入れ替わりません
原因は何でしょうか?
113デフォルトの名無しさん
2018/09/06(木) 16:49:56.62ID:ntAiYVJq インタプリタ言語最強
114デフォルトの名無しさん
2018/09/06(木) 17:12:39.45ID:QdhwFBW3115デフォルトの名無しさん
2018/09/06(木) 18:22:16.04ID:t3mpF7WK VSCodeの「ターミナルで選択範囲/行を実行」って機能をよく使うんですけど
作ってる最中のfor文内(1行目がインデントしてるテキスト)をテストしたいときは
インデントを一時的に消して実行するしか無いんですかね?
IPythonなら1行目がインデントしてても実行してくれるけど
あれはターミナルにフォーカスを移してEnterを押さないと実行してくれないのが不満だし
作ってる最中のfor文内(1行目がインデントしてるテキスト)をテストしたいときは
インデントを一時的に消して実行するしか無いんですかね?
IPythonなら1行目がインデントしてても実行してくれるけど
あれはターミナルにフォーカスを移してEnterを押さないと実行してくれないのが不満だし
116デフォルトの名無しさん
2018/09/06(木) 18:56:40.11ID:r2CzgwVn 馬鹿はオウム返しって言うの好きだよね
117デフォルトの名無しさん
2018/09/06(木) 19:24:48.49ID:UI2giREj VSCode の拡張機能のCode Runner を入れたら、
右クリックメニューから、そのまま実行できる
または、選択したコードを実行できる
右クリックメニューから、そのまま実行できる
または、選択したコードを実行できる
118デフォルトの名無しさん
2018/09/06(木) 21:13:55.88ID:fyvsaEga 入門書で学んでるプログラミング初学者です。
数字以外を入力した場合に「不正な値です」と表示させたいのですが計算を間違えた際にも「不正な値です」と出てしまいます。
どこを直したらいいでしょうか?
from random import randint
miss = 0
correct = 0
print("問題?3回間違えたら終了。qで終了")
while miss<3 :
a = randint(1,100)
b = randint(1,100)
ans = a + b
question = f" {a} + {b} は?"
value = input(question)
#qと入力されたら終了
if value == "q":
break
#正解か不正解か判断する
if value == str(ans) :
correct += 1
print("正解です!")
elif type(value) != int :
print("不正な入力です。")
else :
miss += 1
print("間違い!","×" * miss)
print("----終了----")
print("正解 :", correct)
print("間違い:", miss)
数字以外を入力した場合に「不正な値です」と表示させたいのですが計算を間違えた際にも「不正な値です」と出てしまいます。
どこを直したらいいでしょうか?
from random import randint
miss = 0
correct = 0
print("問題?3回間違えたら終了。qで終了")
while miss<3 :
a = randint(1,100)
b = randint(1,100)
ans = a + b
question = f" {a} + {b} は?"
value = input(question)
#qと入力されたら終了
if value == "q":
break
#正解か不正解か判断する
if value == str(ans) :
correct += 1
print("正解です!")
elif type(value) != int :
print("不正な入力です。")
else :
miss += 1
print("間違い!","×" * miss)
print("----終了----")
print("正解 :", correct)
print("間違い:", miss)
119デフォルトの名無しさん
2018/09/06(木) 21:16:02.79ID:r2CzgwVn 当っとるからええやん
120デフォルトの名無しさん
2018/09/06(木) 21:16:08.52ID:fyvsaEga あれ、書き込みにインデントが反映されてない…
121デフォルトの名無しさん
2018/09/06(木) 21:33:42.86ID:rG7JeulO >>120
ソース貼れるサイト
https://pastebin.com/ ペーストビン
https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除
>>1
ソース貼れるサイト
https://pastebin.com/ ペーストビン
https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除
>>1
122デフォルトの名無しさん
2018/09/06(木) 21:46:28.09ID:r2CzgwVn >>118
真面目に添削すると
数字意外を入力した場合に「不正な値です」と表示する
→数字でないならそもそも値ではないやんか、何言っとんやわれ?なめとんか?
「不正な入力です」と表示する
→不正というワードは否定形なのでわかりにくい
「間違った入力です」と表示する
→何が間違っているのかわからない
「数字以外の入力です」と表示する
→だからどうすれば良いのかわかりにくい
「数字を入力してください」と表示する
→漢数字でもええんか?
「答えになる数値を入力を入力してください」と表示する
→めっちゃわかりやすいやん!
真面目に添削すると
数字意外を入力した場合に「不正な値です」と表示する
→数字でないならそもそも値ではないやんか、何言っとんやわれ?なめとんか?
「不正な入力です」と表示する
→不正というワードは否定形なのでわかりにくい
「間違った入力です」と表示する
→何が間違っているのかわからない
「数字以外の入力です」と表示する
→だからどうすれば良いのかわかりにくい
「数字を入力してください」と表示する
→漢数字でもええんか?
「答えになる数値を入力を入力してください」と表示する
→めっちゃわかりやすいやん!
123デフォルトの名無しさん
2018/09/06(木) 21:56:28.45ID:bpm1lb7O >>118
assert使うといいよ
assert使うといいよ
124デフォルトの名無しさん
2018/09/07(金) 00:32:30.89ID:hV93LKBw125デフォルトの名無しさん
2018/09/07(金) 16:30:33.98ID:DKf48tK4 >>122
イイネ!(・∀・)ワロタヨ!
イイネ!(・∀・)ワロタヨ!
126デフォルトの名無しさん
2018/09/07(金) 17:07:52.42ID:82uhpEUK >>118
valueはstrだから、たとけ入力されたのが"123"とかの数'字'であってもtypeはstrになる
つまり、自分で明示的に型変換をしない限り何を入力してもtype(value)==intが成り立つ事はない
入力を受け取ったらまず最初にvalueをintに型変換したら?
int(value)でできるし、変換できない文字列が入って来たらエラーになるので例外処理で不正な入力も検知できるよ
valueはstrだから、たとけ入力されたのが"123"とかの数'字'であってもtypeはstrになる
つまり、自分で明示的に型変換をしない限り何を入力してもtype(value)==intが成り立つ事はない
入力を受け取ったらまず最初にvalueをintに型変換したら?
int(value)でできるし、変換できない文字列が入って来たらエラーになるので例外処理で不正な入力も検知できるよ
127デフォルトの名無しさん
2018/09/07(金) 17:26:59.78ID:po/zaTpZ たとけ
128デフォルトの名無しさん
2018/09/07(金) 18:10:30.75ID:DKf48tK4 たとけ
129デフォルトの名無しさん
2018/09/07(金) 18:16:00.07ID:QgSvA/nW とたけけ
130デフォルトの名無しさん
2018/09/07(金) 20:30:20.91ID:DKf48tK4 とたけけけ
131デフォルトの名無しさん
2018/09/08(土) 02:42:10.64ID:zJ7GwxeF import dataset
db = dataset.connect('sqlite:///zoo.db')
table = db['zoo']
results = table.find(damages = '大けが')
# for record in results:
# print(record)
if results == None:
print('無いです')
else:
print('ありました')
print(results)
カラムの 『damages』 が 『大けが』 のレコードがあるか無いか知りたいんですが、当たり前だけどこれだとダメでした。どうやってあるかないかを調べたらいいんでしょうか?
db = dataset.connect('sqlite:///zoo.db')
table = db['zoo']
results = table.find(damages = '大けが')
# for record in results:
# print(record)
if results == None:
print('無いです')
else:
print('ありました')
print(results)
カラムの 『damages』 が 『大けが』 のレコードがあるか無いか知りたいんですが、当たり前だけどこれだとダメでした。どうやってあるかないかを調べたらいいんでしょうか?
132デフォルトの名無しさん
2018/09/08(土) 03:07:51.29ID:zJ7GwxeF 自己レスです。
これで出来たっぽいけど他にもっといいやり方ありますか?
import dataset
db = dataset.connect('sqlite:///zoo.db')
table = db['zoo']
results = list(table.find(damages = '大けが'))
# for record in results:
# print(record)
if results == []:
print('無いです')
else:
print('ありました')
print(results)
これで出来たっぽいけど他にもっといいやり方ありますか?
import dataset
db = dataset.connect('sqlite:///zoo.db')
table = db['zoo']
results = list(table.find(damages = '大けが'))
# for record in results:
# print(record)
if results == []:
print('無いです')
else:
print('ありました')
print(results)
133デフォルトの名無しさん
2018/09/08(土) 07:56:53.17ID:aeU58kvm134デフォルトの名無しさん
2018/09/08(土) 08:21:40.63ID:BJl7Ln5g こんにちは。
pycharm という便利なものがあるとのことでさっそく使ってみました。
最新版の"PyCharm Community Edition 2018.2.3"をWindows 10 にインストールし、
プロジェクトの設定の"Existing interpreter"に、普段使用している cygwin64 の "python3.6m.exe"を
指定しました。IDEからRunすると問題なく実行されるのですが、ブレークポイントを設定して
Debugを実行すると、
pydev debugger: warning: trying to add breakpoint to file that does not exist: /cygdrive/c/pycharm_doc/test001/c:/pycharm_doc/test001/main.py (will have no effect)
という、ファイルが存在しないというエラーが出来ます。
cygwinのパスの表現と、windowsのパスの表現が合体した変なパス名が表示されます。
3台のPCで試したのですが、全部同じ結果でした。解決する方法はありますかねぇ。
(こちらの都合でcygwin環境が必須になっています)
pycharm という便利なものがあるとのことでさっそく使ってみました。
最新版の"PyCharm Community Edition 2018.2.3"をWindows 10 にインストールし、
プロジェクトの設定の"Existing interpreter"に、普段使用している cygwin64 の "python3.6m.exe"を
指定しました。IDEからRunすると問題なく実行されるのですが、ブレークポイントを設定して
Debugを実行すると、
pydev debugger: warning: trying to add breakpoint to file that does not exist: /cygdrive/c/pycharm_doc/test001/c:/pycharm_doc/test001/main.py (will have no effect)
という、ファイルが存在しないというエラーが出来ます。
cygwinのパスの表現と、windowsのパスの表現が合体した変なパス名が表示されます。
3台のPCで試したのですが、全部同じ結果でした。解決する方法はありますかねぇ。
(こちらの都合でcygwin環境が必須になっています)
135デフォルトの名無しさん
2018/09/08(土) 08:54:48.94ID:LzkjeqyB >/cygdrive/c/pycharm_doc/test001/c:/pycharm_doc/test001/main.py
Windows10・WSL で、Linux(Ubuntu)側から、Windowsのフォルダへアクセスしたような感じかね?
/mnt/c/Users/Owner/Documents
Ubuntu側から、WindowsのDocumentsフォルダへアクセス
Windows10・WSL で、Linux(Ubuntu)側から、Windowsのフォルダへアクセスしたような感じかね?
/mnt/c/Users/Owner/Documents
Ubuntu側から、WindowsのDocumentsフォルダへアクセス
136デフォルトの名無しさん
2018/09/08(土) 09:21:46.04ID:r9+/L/Cg137デフォルトの名無しさん
2018/09/08(土) 10:40:12.37ID:BJl7Ln5g138デフォルトの名無しさん
2018/09/08(土) 12:03:41.47ID:TO1NWAp1 変数名つける時って何語くらいまででつけますか?
詳しく説明すると長くなるし、短いとかぶるし、省略とか頭文字みたいなのは良くないらしいですが
参考文献とかあったら教えてほしいです。
詳しく説明すると長くなるし、短いとかぶるし、省略とか頭文字みたいなのは良くないらしいですが
参考文献とかあったら教えてほしいです。
139デフォルトの名無しさん
2018/09/08(土) 12:43:49.56ID:cbJtO1ny リーダブルコードでも読んでこい
140デフォルトの名無しさん
2018/09/08(土) 21:24:47.08ID:JF6Ma/9C 標準ライブラリとかメジャーなフレームワークコードのコード読んで好きなの選べばいいじゃん
141デフォルトの名無しさん
2018/09/08(土) 23:13:29.87ID:fPoBP/2C >>138
頭文字で名付けても手にとるように意味がわかるコードが良いコードやね
頭文字で名付けても手にとるように意味がわかるコードが良いコードやね
142デフォルトの名無しさん
2018/09/09(日) 11:20:55.79ID:kzlGF2pO ジェーン台風のJって台風10号だってすぐ判るネーミングやね
143デフォルトの名無しさん
2018/09/09(日) 16:08:53.74ID:pN0oDaL+ rssを表示したいんだけど、行末が『ます。』のものだけを表示することにしてます。もし、1行も『ます。』がなくて表示すべきものが全く無かった場合はforループの後に別の処理をしたいんだけど、やり方教えてほしいです。
for e in entri:
title = e['title']
title = title.split(" - ")[0]
summary = e['summary']
summaryList = summary.split("分")
dateTime = f'{summaryList[0]}分'
chuihou = summaryList[1]
if title[:6] != '[ PR ]':
if summa[-3:] == 'ます。':
print(f'{title} {dateTime}')
print(chuihou)
for e in entri:
title = e['title']
title = title.split(" - ")[0]
summary = e['summary']
summaryList = summary.split("分")
dateTime = f'{summaryList[0]}分'
chuihou = summaryList[1]
if title[:6] != '[ PR ]':
if summa[-3:] == 'ます。':
print(f'{title} {dateTime}')
print(chuihou)
144デフォルトの名無しさん
2018/09/09(日) 16:26:44.95ID:XnExmf42 5chは連続する半角スペースを消してしまうから
インデントが崩れる
(インデント崩さず)ソース貼れるサイト
https://pastebin.com/ ペーストビン
https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除
インデントが崩れる
(インデント崩さず)ソース貼れるサイト
https://pastebin.com/ ペーストビン
https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除
145デフォルトの名無しさん
2018/09/09(日) 16:33:13.24ID:pN0oDaL+146デフォルトの名無しさん
2018/09/09(日) 17:06:15.73ID:0ym3cmgA counter = false
ループ処理 { 1件でも処理したら、counterをtrue にする }
もし、counterがfalseのままなら{ 処理 }
ループ処理 { 1件でも処理したら、counterをtrue にする }
もし、counterがfalseのままなら{ 処理 }
147デフォルトの名無しさん
2018/09/09(日) 17:17:25.83ID:pN0oDaL+148デフォルトの名無しさん
2018/09/09(日) 23:08:48.04ID:pN0oDaL+ forループの続きなんですが、「to」が「imanoJikan」よりも先の項目が見つかったら直近のひとつだけ取得してループを終了させる方法おしえてほしいです
https://pastebin.com/hUp7pyTB
https://pastebin.com/hUp7pyTB
149デフォルトの名無しさん
2018/09/09(日) 23:26:11.91ID:sFuHefah printの下に同じインデントで
break
break
150デフォルトの名無しさん
2018/09/09(日) 23:29:15.01ID:pN0oDaL+151デフォルトの名無しさん
2018/09/10(月) 00:27:49.39ID:8UsAQXCT えぇ…
152デフォルトの名無しさん
2018/09/10(月) 08:53:06.79ID:iZVjiAgO python卒業します
これからはjsと戯れます
これからはjsと戯れます
153デフォルトの名無しさん
2018/09/10(月) 08:54:23.89ID:iZVjiAgO さようならみんな
sys.exit()
sys.exit()
154デフォルトの名無しさん
2018/09/10(月) 09:37:57.70ID:SBVp+ZlE 達者で
155デフォルトの名無しさん
2018/09/10(月) 13:25:23.61ID:nF+UxiuD >>152
え!え?
そこは、普通 jsではなく
juliaだろ?
println("Hello julia")
女子小学生より31歳のお姉さまだろ、普通
https://i.imgur.com/mFtwafs.jpg
え!え?
そこは、普通 jsではなく
juliaだろ?
println("Hello julia")
女子小学生より31歳のお姉さまだろ、普通
https://i.imgur.com/mFtwafs.jpg
156デフォルトの名無しさん
2018/09/10(月) 18:29:25.45ID:C7zSAi11 subprocessで実行したコマンドの出力の最後の1行と終了ステータスを取得する方法教えてください!
157デフォルトの名無しさん
2018/09/10(月) 20:00:58.83ID:7UcGX0Ag158デフォルトの名無しさん
2018/09/10(月) 20:04:57.98ID:ZkfvzKVs >>156
subprocess.run()でコマンドの出力と終了ステータスを取得できる
https://docs.python.jp/3/library/subprocess.html
最後の1行は改行文字でsplitして一番最後を取れば良い
subprocess.run()でコマンドの出力と終了ステータスを取得できる
https://docs.python.jp/3/library/subprocess.html
最後の1行は改行文字でsplitして一番最後を取れば良い
159デフォルトの名無しさん
2018/09/10(月) 20:08:23.29ID:t8KSuPE1160デフォルトの名無しさん
2018/09/10(月) 20:09:03.35ID:t8KSuPE1 >>158
ケコ━━━━(・∀・)人(・∀・)━━━━ン
ケコ━━━━(・∀・)人(・∀・)━━━━ン
161デフォルトの名無しさん
2018/09/10(月) 23:14:11.21ID:068EZbdc python 3.6.3 最新のpandas
数値で条件指定してquery()したいのですが、ここからどうしたらいいか分かりません。
北海道や東京等が邪魔で、比較が出来ないと怒られます。出来れば都道府県は消さずに、このまま条件指定したいです
良い方法ありますか?
.csvファイルからデータを読み込んでます
表示させると、こんな感じになります。index3以下は数値で埋まってます
https://i.imgur.com/bll8NE3.jpg
数値で条件指定してquery()したいのですが、ここからどうしたらいいか分かりません。
北海道や東京等が邪魔で、比較が出来ないと怒られます。出来れば都道府県は消さずに、このまま条件指定したいです
良い方法ありますか?
.csvファイルからデータを読み込んでます
表示させると、こんな感じになります。index3以下は数値で埋まってます
https://i.imgur.com/bll8NE3.jpg
162デフォルトの名無しさん
2018/09/10(月) 23:21:28.90ID:zuFyRahU df.drop(df.index[0])
163デフォルトの名無しさん
2018/09/11(火) 07:33:52.50ID:0W5Zv88y164デフォルトの名無しさん
2018/09/11(火) 08:19:03.98ID:bezMNa3/ そうか
なら死ぬまでやってな
なら死ぬまでやってな
165デフォルトの名無しさん
2018/09/11(火) 09:27:36.32ID:0W5Zv88y csvから数値を取り出してるのに、str型とint型は比較できないとか言われる…
conditions = '(身長 > 160) & (体重 < 60)'
df.query(conditions)
文法は合ってますよね?
>>161
conditions = '(身長 > 160) & (体重 < 60)'
df.query(conditions)
文法は合ってますよね?
>>161
166デフォルトの名無しさん
2018/09/11(火) 09:52:26.79ID:Y91dzGGO167デフォルトの名無しさん
2018/09/11(火) 12:07:19.86ID:0Qtu/zKE >>165
まちがってる希ガス
まちがってる希ガス
168デフォルトの名無しさん
2018/09/11(火) 13:17:25.77ID:tPkMAepR パイソンやる気が起きないんですがどうしたらいいですか
169デフォルトの名無しさん
2018/09/11(火) 13:27:48.27ID:dcNBqXet queryってラベル日本語okだっけ?
170デフォルトの名無しさん
2018/09/11(火) 13:34:14.95ID:dcNBqXet あと
(体重 < 60)
queryってこのカッコっているんだっけ?
(体重 < 60)
queryってこのカッコっているんだっけ?
171デフォルトの名無しさん
2018/09/11(火) 14:29:20.23ID:MIcxujEr172デフォルトの名無しさん
2018/09/11(火) 14:43:17.34ID:SPzv7yKx プログラミングしたことない文系大学生なんですが、python始めるなら
pythonスタートブック増補改訂版
っていうのでいいですか?
pythonスタートブック増補改訂版
っていうのでいいですか?
173デフォルトの名無しさん
2018/09/11(火) 14:46:13.07ID:pwo3DQbp 無理
174デフォルトの名無しさん
2018/09/11(火) 15:35:17.46ID:MIcxujEr >>171
dropでindex[0]を消して、一旦保存し、また開き直して、抽出したら出来ました
スレ汚しすみませんでした…
でも、すごく無駄なことをしてる気がする…
原因として、index[0]にある文字列のせいで、下の数値も文字列として認識しちゃってた可能性が浮かびました
だから、開き直したらエラーも出ずに出来たんだと思います
ちなみに、reset_index も意味無かったです
dropでindex[0]を消して、一旦保存し、また開き直して、抽出したら出来ました
スレ汚しすみませんでした…
でも、すごく無駄なことをしてる気がする…
原因として、index[0]にある文字列のせいで、下の数値も文字列として認識しちゃってた可能性が浮かびました
だから、開き直したらエラーも出ずに出来たんだと思います
ちなみに、reset_index も意味無かったです
175デフォルトの名無しさん
2018/09/11(火) 16:45:24.82ID:SPzv7yKx176デフォルトの名無しさん
2018/09/11(火) 18:16:29.60ID:YvR5RO13 生きるのにも向いてねえよ
はよ死ね
はよ死ね
177デフォルトの名無しさん
2018/09/11(火) 18:25:17.89ID:p1uFk9aE みんなのPython 第4版、2017
みんなのが定番だけど、言語の初心者には良いけど、
プログラミング自体の初心者には、どうだろう?
たのしいRuby 第5版、2016
プログラミング自体の初心者は、Rubyでプログラミングを覚えてから、
Python の方が良さそう
他には、Progate などの教育サイトもある
みんなのが定番だけど、言語の初心者には良いけど、
プログラミング自体の初心者には、どうだろう?
たのしいRuby 第5版、2016
プログラミング自体の初心者は、Rubyでプログラミングを覚えてから、
Python の方が良さそう
他には、Progate などの教育サイトもある
178デフォルトの名無しさん
2018/09/11(火) 18:55:41.75ID:0Qtu/zKE >>168
まず、PyのアイコンをA4サイズに拡大プリントします
まず、PyのアイコンをA4サイズに拡大プリントします
179デフォルトの名無しさん
2018/09/11(火) 19:19:03.51ID:AZXlXK10 pipでインストールしたライブラリに不備が見つかったので変更を加えたのですが実動作に反映されません。
キャッシュの削除も試してみたのですが変わらず・・・
キャッシュの削除も試してみたのですが変わらず・・・
180デフォルトの名無しさん
2018/09/11(火) 19:19:31.34ID:cR5Dh89A181デフォルトの名無しさん
2018/09/11(火) 19:26:50.17ID:cR5Dh89A >>180
aaa = subprocess.run(コマンド, stdout=subprocess.PIPE)
bbb = aaa.stdout.read()
ccc = bbb.split("/")[-1]
print(ccc)
こうやると
AttributeError: 'bytes' object has no attribute 'read'
このエラーでした
aaa = subprocess.run(コマンド, stdout=subprocess.PIPE)
bbb = aaa.stdout.read()
ccc = bbb.split("/")[-1]
print(ccc)
こうやると
AttributeError: 'bytes' object has no attribute 'read'
このエラーでした
182デフォルトの名無しさん
2018/09/11(火) 19:43:31.84ID:cR5Dh89A subprocess.run(["ls", "-l"], stdout=subprocess.PIPE)
print(subprocess.PIPE)
-1がプリントされるんですが、-1とはなんですか?
print(subprocess.PIPE)
-1がプリントされるんですが、-1とはなんですか?
183デフォルトの名無しさん
2018/09/11(火) 19:54:36.58ID:cR5Dh89A 何度もすみません。
>>> subprocess.run(["ls", "-l", "/dev/null"], stdout=subprocess.PIPE)
CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0,
stdout=b'crw-rw-rw- 1 root root 1, 3 Jan 23 16:23 /dev/null\n')
ドキュメントにこう書かれてあるので、CompletedProcessというリストが作られるのかと思い、
subprocess.run(["ls", "-l"], stdout=subprocess.PIPE)
print(CompletedProcess[-1])
とやってみたけど、
NameError: name 'CompletedProcess' is not defined
となりました。
>>> subprocess.run(["ls", "-l", "/dev/null"], stdout=subprocess.PIPE)
CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0,
stdout=b'crw-rw-rw- 1 root root 1, 3 Jan 23 16:23 /dev/null\n')
ドキュメントにこう書かれてあるので、CompletedProcessというリストが作られるのかと思い、
subprocess.run(["ls", "-l"], stdout=subprocess.PIPE)
print(CompletedProcess[-1])
とやってみたけど、
NameError: name 'CompletedProcess' is not defined
となりました。
184デフォルトの名無しさん
2018/09/11(火) 20:13:26.71ID:cR5Dh89A 自己レス
引数に『universal_newlines=True」を追加したら大丈夫みたいでした。
引数に『universal_newlines=True」を追加したら大丈夫みたいでした。
185デフォルトの名無しさん
2018/09/11(火) 21:54:28.05ID:LBODaWXG >>172
それで良いと思うよ、ガンガレ
それで良いと思うよ、ガンガレ
186デフォルトの名無しさん
2018/09/11(火) 22:09:09.67ID:SPzv7yKx187デフォルトの名無しさん
2018/09/11(火) 22:09:33.55ID:SPzv7yKx >>185
あざす
あざす
188デフォルトの名無しさん
2018/09/11(火) 22:15:10.44ID:LBODaWXG >>184
解決したならいいけど
import subprocess
a = subprocess.run(["ls","-l"], stdout=subprocess.PIPE)
print(a)
print(a.args)
print(a.args[-1])
print(a.stdout.decode())#universal_newlinesつけるならいらない
print(a.stdout)
解決したならいいけど
import subprocess
a = subprocess.run(["ls","-l"], stdout=subprocess.PIPE)
print(a)
print(a.args)
print(a.args[-1])
print(a.stdout.decode())#universal_newlinesつけるならいらない
print(a.stdout)
189177
2018/09/11(火) 23:32:02.26ID:p1uFk9aE Python には、多くの多言語の著者も、参入してる
クジラ飛行机・大津真、
弾幕系のシューティングゲームプログラミングで有名な、松浦 健一郎・司 ゆき
猿向きなのは、掌田津耶乃・高橋麻奈
「スッキリ」「猫でもわかる」は、まだ参入していない
クジラ飛行机・大津真、
弾幕系のシューティングゲームプログラミングで有名な、松浦 健一郎・司 ゆき
猿向きなのは、掌田津耶乃・高橋麻奈
「スッキリ」「猫でもわかる」は、まだ参入していない
190デフォルトの名無しさん
2018/09/11(火) 23:57:02.57ID:UiecLNUs みんなの〜がいいのか
Pythonチュートリアル買っちゃった
Pythonチュートリアル買っちゃった
191デフォルトの名無しさん
2018/09/12(水) 00:04:21.73ID:Qysc30q7192デフォルトの名無しさん
2018/09/12(水) 00:39:20.04ID:NOD5QCpZ193177
2018/09/12(水) 00:40:25.77ID:pVbQPMMe Guido の「Pythonチュートリアル」は、ほとんど内容が無いw
詳細は何々を参照してください、ばっかりw
詳細は何々を参照してください、ばっかりw
194デフォルトの名無しさん
2018/09/12(水) 00:59:48.52ID:2r/3byF9 Pythonで以下のようなことは私のような超初心者でも可能でしょうか?
当方VBAとJavaをちょっと(API未経験)な程度のスキルしかありません
1 テキストファイルに書かれたアドレスのページを順番に保存
2 特定のページを開きその先にあるリンクを定期的に保存
例えば定期的に気象庁の地震速報一覧のページをまず読み、
https://www.jma.go.jp/jp/quake/quake_sindo_index.html
こちらにある地震の揺れ日時リンクのリンク先
例:https://www.jma.go.jp/jp/quake/20180911100918353-11190739.html
などを全て保存したいです
今は手動で保存しています
当方VBAとJavaをちょっと(API未経験)な程度のスキルしかありません
1 テキストファイルに書かれたアドレスのページを順番に保存
2 特定のページを開きその先にあるリンクを定期的に保存
例えば定期的に気象庁の地震速報一覧のページをまず読み、
https://www.jma.go.jp/jp/quake/quake_sindo_index.html
こちらにある地震の揺れ日時リンクのリンク先
例:https://www.jma.go.jp/jp/quake/20180911100918353-11190739.html
などを全て保存したいです
今は手動で保存しています
195デフォルトの名無しさん
2018/09/12(水) 01:06:18.26ID:m5YCt3ez matplotlibで波形を出力したいのですが
a = [1,2,3,4,5,6,…,16,17,18,19,20]という配列があった時に
偶数値から奇数値の間の線を赤,奇数値から偶数値の線を青
というように条件付で一部色を変えながらplotすることはできるのでしょうか?
a = [1,2,3,4,5,6,…,16,17,18,19,20]という配列があった時に
偶数値から奇数値の間の線を赤,奇数値から偶数値の線を青
というように条件付で一部色を変えながらplotすることはできるのでしょうか?
196デフォルトの名無しさん
2018/09/12(水) 01:32:48.47ID:2r/3byF9197デフォルトの名無しさん
2018/09/12(水) 02:21:34.30ID:Fp0BM1OM198デフォルトの名無しさん
2018/09/12(水) 02:26:40.00ID:pVbQPMMe 簡単なクローラーは、wget
他には、Ruby のMechanize とか
もっと複雑な、JavaScript でページを作っているような動的なページは、
Ruby でSelenium WebDriver で、ブラウザを操作する
他には、Ruby のMechanize とか
もっと複雑な、JavaScript でページを作っているような動的なページは、
Ruby でSelenium WebDriver で、ブラウザを操作する
199デフォルトの名無しさん
2018/09/12(水) 06:29:26.14ID:niWPqMtZ >>189
まだJuliaには参入してない。
まだJuliaには参入してない。
200デフォルトの名無しさん
2018/09/12(水) 07:04:54.42ID:9GMFh4Pp 今年はJuliaとかDartとか
もう終わりかかってるような奴の復活宣言が多い
もう終わりかかってるような奴の復活宣言が多い
201デフォルトの名無しさん
2018/09/12(水) 13:04:47.85ID:wa3fqHL8 pandasのデータフレームdfに対して次の処理をします
cols=[a,b,c,d]
dfx = df[cols].head(10).astype(str)
処理すべきデータフレームが複数あるとき
dfa,dfb,dfc...
dfxa,dfxb,dfxc...
としたいのですが、ループで処理を使い回すことはできますか?
dfxa=dfxb=dfxc=None
for i,j in zip([dfa,dfb...],[dfxa,dfxb..]):
__j =i[cols].head(10).astype(str)
はダメでした
※あと↑ループ内ではNoneな変数にそれぞれ値が代入されるのに、ループ後にprintするとNoneとなる理由もわかりません
cols=[a,b,c,d]
dfx = df[cols].head(10).astype(str)
処理すべきデータフレームが複数あるとき
dfa,dfb,dfc...
dfxa,dfxb,dfxc...
としたいのですが、ループで処理を使い回すことはできますか?
dfxa=dfxb=dfxc=None
for i,j in zip([dfa,dfb...],[dfxa,dfxb..]):
__j =i[cols].head(10).astype(str)
はダメでした
※あと↑ループ内ではNoneな変数にそれぞれ値が代入されるのに、ループ後にprintするとNoneとなる理由もわかりません
202デフォルトの名無しさん
2018/09/12(水) 20:43:31.59ID:krza25ay それよりも基礎やれよ
関数も分からんのだろお前
関数も分からんのだろお前
203デフォルトの名無しさん
2018/09/12(水) 21:26:10.04ID:T/3USJ28 スペック
プログラム未経験JK
退屈なことはPythonにやらせようを買ったけど難しくて入門Python3を買った
退屈なことよりも分かりやすいけどやっぱり難しい
スタートブックにしたらよかったぜ
プログラム未経験JK
退屈なことはPythonにやらせようを買ったけど難しくて入門Python3を買った
退屈なことよりも分かりやすいけどやっぱり難しい
スタートブックにしたらよかったぜ
204デフォルトの名無しさん
2018/09/12(水) 21:38:01.53ID:pVbQPMMe >>194-198
「wget 入門」で検索!
-i ファイル 指定したファイルに記載された、URLをダウンロードします。
-r 再帰的にダウンロードします。ページ内のリンクをたどってダウンロードします。
-l 数 --level=数 指定した階層分リンクをたどる。
「-r」オプションのデフォルトは「-l 5」なので「-l1」を指定する。
これで特定のページの、リンク先のページだけをダウンロード(DL)する
-A -R で、DLするファイルの拡張子を指定する。
--spider ファイルをダウンロードせず、URLの存在だけチェックする。
-H, --span-hosts 再帰中に他のドメインも、ダウンロード対象にする
-k, --convert-links HTML や CSS 中のリンクを、ローカルを指すように変更する。
ローカルPC 内だけで動くように、リンクを相対パスに変換する
「wget 入門」で検索!
-i ファイル 指定したファイルに記載された、URLをダウンロードします。
-r 再帰的にダウンロードします。ページ内のリンクをたどってダウンロードします。
-l 数 --level=数 指定した階層分リンクをたどる。
「-r」オプションのデフォルトは「-l 5」なので「-l1」を指定する。
これで特定のページの、リンク先のページだけをダウンロード(DL)する
-A -R で、DLするファイルの拡張子を指定する。
--spider ファイルをダウンロードせず、URLの存在だけチェックする。
-H, --span-hosts 再帰中に他のドメインも、ダウンロード対象にする
-k, --convert-links HTML や CSS 中のリンクを、ローカルを指すように変更する。
ローカルPC 内だけで動くように、リンクを相対パスに変換する
205デフォルトの名無しさん
2018/09/12(水) 21:40:29.26ID:pVbQPMMe206デフォルトの名無しさん
2018/09/12(水) 21:42:05.84ID:T/3USJ28 >>205
地雷一覧?
地雷一覧?
207デフォルトの名無しさん
2018/09/12(水) 23:06:58.17ID:2r/3byF9208デフォルトの名無しさん
2018/09/13(木) 00:31:00.11ID:ECzOVYUy test
209デフォルトの名無しさん
2018/09/13(木) 00:33:41.14ID:ECzOVYUy import re
with open('aa.txt', 'r+') as f:
while True:
line = f.readline()
ret = re.search(r"^a", line)
if(ret):
f.writelines("---")
if not line:
break
with open('aa.txt', 'r+') as f:
while True:
line = f.readline()
ret = re.search(r"^a", line)
if(ret):
f.writelines("---")
if not line:
break
210デフォルトの名無しさん
2018/09/13(木) 00:34:51.38ID:ECzOVYUy ↑
テキストファイルで"a"で始まる行を"----"に書き換えようとしたのだが、
"----"が"a"で始まる行ではなくテキストの最後に追加されます。
f.writeでも同じ。
助け舟お願いします。
テキストファイルで"a"で始まる行を"----"に書き換えようとしたのだが、
"----"が"a"で始まる行ではなくテキストの最後に追加されます。
f.writeでも同じ。
助け舟お願いします。
211デフォルトの名無しさん
2018/09/13(木) 00:41:01.41ID:ttzoAgZZ ファイルサイズ変わるような途中の書き換えはできないので
素直に別ファイルに書き出しましょう
素直に別ファイルに書き出しましょう
212デフォルトの名無しさん
2018/09/13(木) 00:41:04.65ID:X3zFvlHv >>202
このレスは何が言いたいの?
このレスは何が言いたいの?
213デフォルトの名無しさん
2018/09/13(木) 00:45:51.99ID:ECzOVYUy214デフォルトの名無しさん
2018/09/13(木) 03:04:18.35ID:TyIiud+k >>212
そこまでバカなら5chより幼稚園がオススメ
そこまでバカなら5chより幼稚園がオススメ
215デフォルトの名無しさん
2018/09/13(木) 03:27:39.30ID:2ca+8xGJ >>214
詳しく
詳しく
216デフォルトの名無しさん
2018/09/13(木) 09:48:20.60ID:Ch5jIF+X >>210
1行ずつ読み込むんじゃなく、read()で全部読み込んでまとめて置換して書き出したら?
1行ずつ読み込むんじゃなく、read()で全部読み込んでまとめて置換して書き出したら?
217デフォルトの名無しさん
2018/09/14(金) 01:19:44.19ID:13WSTRRA tqdmについて質問です。
ラジオで今放送されている番組情報を表示するスクリプトを作っててプログレスバーを付けたいです。
https://i.imgur.com/saep34j.jpg
以下がそのコード一部です。これだとスクリプトを動かした時点がプログレスバーの0%の位置なんですが、
プログレスバーの0%の位置は番組開始時間、100%が終了時間、プログレスバー長さは現在の時間ってやる事で来ますか?
https://pastebin.com/BN0iYknv
ラジオで今放送されている番組情報を表示するスクリプトを作っててプログレスバーを付けたいです。
https://i.imgur.com/saep34j.jpg
以下がそのコード一部です。これだとスクリプトを動かした時点がプログレスバーの0%の位置なんですが、
プログレスバーの0%の位置は番組開始時間、100%が終了時間、プログレスバー長さは現在の時間ってやる事で来ますか?
https://pastebin.com/BN0iYknv
218デフォルトの名無しさん
2018/09/14(金) 01:27:39.44ID:KCZmWOCp なかなか面白い事やってるね
219デフォルトの名無しさん
2018/09/14(金) 01:54:22.66ID:Vmeq3cpR Ubuntu16.4の環境下でPython3.6でFlask+uwsgiでRESTサーバ作っており、
そこでロギングで壁に当たってます。
汎用loggerにTimeRotatingFileHandlerをaddして1時間毎にローテーションするように実装しました。
これはハンドラが作られた時間がローテションタイミングの基準点で、そこから1時間後に
ローテションって意味で、正確に毎時0分にローテーションというのは無理なのでしょうか?
また、1回目のローテーションまでは正常にローテーションしてるのですが、
2回目以降が1時間単位のインターバルが無効になってるように見え、一定のファイズサイズに達すると
勝手にローテートしてしてしまいます。 これによって1回目に退避されたログが2回目の
ローテーションファイルで上書きされていまい、実質ログが消えてしまいました。
これらの対策としては自分でTimeRotatingFileHandlerのサブクラスで拡張するや、
SocketHanderで受け側を作る構成にするか、または単純にFileHanderで永久出力して
logrotate.dでローテーションしたほうが安全なのでしょうか?
いろいろ検証してるのですが答えが見つからず・・・ 知っているかたいれば教えて対策教えてください。
そこでロギングで壁に当たってます。
汎用loggerにTimeRotatingFileHandlerをaddして1時間毎にローテーションするように実装しました。
これはハンドラが作られた時間がローテションタイミングの基準点で、そこから1時間後に
ローテションって意味で、正確に毎時0分にローテーションというのは無理なのでしょうか?
また、1回目のローテーションまでは正常にローテーションしてるのですが、
2回目以降が1時間単位のインターバルが無効になってるように見え、一定のファイズサイズに達すると
勝手にローテートしてしてしまいます。 これによって1回目に退避されたログが2回目の
ローテーションファイルで上書きされていまい、実質ログが消えてしまいました。
これらの対策としては自分でTimeRotatingFileHandlerのサブクラスで拡張するや、
SocketHanderで受け側を作る構成にするか、または単純にFileHanderで永久出力して
logrotate.dでローテーションしたほうが安全なのでしょうか?
いろいろ検証してるのですが答えが見つからず・・・ 知っているかたいれば教えて対策教えてください。
220デフォルトの名無しさん
2018/09/14(金) 02:15:35.00ID:13WSTRRA >>218
変なことやってしまってますか?
変なことやってしまってますか?
221デフォルトの名無しさん
2018/09/14(金) 02:38:02.20ID:YQ1y2eFS >>219
>正確に毎時0分に、ローテーションというのは無理なのでしょうか?
そういう設定があるのでは?
>一定のファイズサイズに達すると、勝手にローテートしてしてしまいます
それは多分、ファイズサイズでローテートする設定にしているから
>これによって1回目に退避されたログが、2回目のローテーションファイルで上書きされてしまい
同じファイル名にならないように、ファイル名に時刻を付けたりすれば?
とにかく、ログローテーションの文書を読むしかないと思う
>正確に毎時0分に、ローテーションというのは無理なのでしょうか?
そういう設定があるのでは?
>一定のファイズサイズに達すると、勝手にローテートしてしてしまいます
それは多分、ファイズサイズでローテートする設定にしているから
>これによって1回目に退避されたログが、2回目のローテーションファイルで上書きされてしまい
同じファイル名にならないように、ファイル名に時刻を付けたりすれば?
とにかく、ログローテーションの文書を読むしかないと思う
222デフォルトの名無しさん
2018/09/14(金) 03:25:15.25ID:KCZmWOCp223デフォルトの名無しさん
2018/09/14(金) 03:58:34.22ID:13WSTRRA >>222
ミュージックプレーヤーのようにプログレスバーがあると、コンソールでも動きが出ておもしろいかなと思ってつけてみようと思いました。
ミュージックプレーヤーのようにプログレスバーがあると、コンソールでも動きが出ておもしろいかなと思ってつけてみようと思いました。
224デフォルトの名無しさん
2018/09/14(金) 13:03:14.11ID:7Qnl0jfy Rubyの ruby -e ‘p “hello”’みたいのはPythonでどうやるの?
できたとしてインデントどうするのかわからんけど
できたとしてインデントどうするのかわからんけど
225デフォルトの名無しさん
2018/09/14(金) 13:34:13.63ID:6AOpn7AN >>217
tqdmは手動で動かすこともできるので、番組開始時間や現在の時間から計算した値をセットすればできる
with tqdm(total=番組の長さ) as pbar:
pbar.update(番組開始から現在までの経過時間)
#残りはfor等で適宜update
tqdmは手動で動かすこともできるので、番組開始時間や現在の時間から計算した値をセットすればできる
with tqdm(total=番組の長さ) as pbar:
pbar.update(番組開始から現在までの経過時間)
#残りはfor等で適宜update
226デフォルトの名無しさん
2018/09/14(金) 14:31:48.36ID:GqHziv8p227デフォルトの名無しさん
2018/09/14(金) 17:19:47.96ID:13WSTRRA >>225
どうもありがとうございます
forの書き方はこれであってますか?
https://pastebin.com/Aapebfqk
https://i.imgur.com/tn4szbK.jpg
この書き方だと、スクリプトを動かしたすぐは0%のままで経過時間分のバーにはならず、forループの1回目が終わったら、経過時間をプラスした分メーターが進みました。
あと、プログレスバーの右側の
11372/14400 [10:18<50:51, 1.01s/it]
ってなってる所の表示を消したり変えたりする事も出来ますか?
tqdmのドキュメントにはプログレスバーの左側に文字を入れたりバーの色を変える方法は載ってたんですが右側の事は分かりませんでした。
どうもありがとうございます
forの書き方はこれであってますか?
https://pastebin.com/Aapebfqk
https://i.imgur.com/tn4szbK.jpg
この書き方だと、スクリプトを動かしたすぐは0%のままで経過時間分のバーにはならず、forループの1回目が終わったら、経過時間をプラスした分メーターが進みました。
あと、プログレスバーの右側の
11372/14400 [10:18<50:51, 1.01s/it]
ってなってる所の表示を消したり変えたりする事も出来ますか?
tqdmのドキュメントにはプログレスバーの左側に文字を入れたりバーの色を変える方法は載ってたんですが右側の事は分かりませんでした。
228デフォルトの名無しさん
2018/09/14(金) 17:26:16.68ID:tz1WlCUG >>226
おおthx
おおthx
229デフォルトの名無しさん
2018/09/15(土) 10:47:39.63ID:Rbm//AmR みんなのpythonという参考書を終えたのですが次にやるレベルの参考書教えてくれませんか?
230デフォルトの名無しさん
2018/09/15(土) 10:54:49.48ID:0IDKpbCI231デフォルトの名無しさん
2018/09/15(土) 11:20:31.39ID:WA7DfSYz 英語…
232デフォルトの名無しさん
2018/09/15(土) 11:38:53.49ID:AVfR6YnT thx
233デフォルトの名無しさん
2018/09/15(土) 12:08:10.76ID:enopwIka 英語だけで怯んでたら何も出来るようにならんぞ
234デフォルトの名無しさん
2018/09/15(土) 12:24:03.66ID:QOgSOXWg235デフォルトの名無しさん
2018/09/15(土) 12:44:48.44ID:FXFGXSpW >>229
職のためにやってるならDB、Django、AWS、Docker、HTML
趣味のためにやってるならスクレイピング、SQLite、PyGame
人工知能はあまりおすすめできない
大半の人間には難しいものだし、学習データを大量に用意できないと話にならんし
職のためにやってるならDB、Django、AWS、Docker、HTML
趣味のためにやってるならスクレイピング、SQLite、PyGame
人工知能はあまりおすすめできない
大半の人間には難しいものだし、学習データを大量に用意できないと話にならんし
236デフォルトの名無しさん
2018/09/15(土) 12:57:03.70ID:eH38IGCF >>227
pbar.update(keikaJikan)
の後に
pbar.set_description(refresh=True)
いれたら?
ドキュメントに詳しい記述がなかったので
うまくいくかわからないけど
pbar.update(keikaJikan)
の後に
pbar.set_description(refresh=True)
いれたら?
ドキュメントに詳しい記述がなかったので
うまくいくかわからないけど
237デフォルトの名無しさん
2018/09/15(土) 13:04:52.29ID:eH38IGCF238デフォルトの名無しさん
2018/09/15(土) 17:06:04.40ID:uTfOzQke239デフォルトの名無しさん
2018/09/15(土) 17:20:15.56ID:Ek2iwFvX >>227
そういう表示変更したいならprogressbar(2)のwidgets使ったほうが便利そう
そういう表示変更したいならprogressbar(2)のwidgets使ったほうが便利そう
240デフォルトの名無しさん
2018/09/15(土) 17:58:30.21ID:QOgSOXWg241デフォルトの名無しさん
2018/09/15(土) 20:08:55.40ID:jV44o+ul242デフォルトの名無しさん
2018/09/15(土) 20:12:40.41ID:8rxpHkWL 何をやりたいかで変わらんと悟るまでpythonチュートリアル何遍でも読み返しとったらええねん
243デフォルトの名無しさん
2018/09/15(土) 22:34:28.61ID:VdLZkjGs この2冊は双子だから、両方読む。
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
入門書の次は、どの言語でも「Effective 何々」
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、
間違いやすいポイントを解説
Effective Python ―Pythonプログラムを改良する59項目、2016
Web フレームワークは、無料のRails チュートリアルをやってから、
掌田津耶乃の、
Python Django 超入門、2018
Node.js超入門、2017
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
入門書の次は、どの言語でも「Effective 何々」
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、
間違いやすいポイントを解説
Effective Python ―Pythonプログラムを改良する59項目、2016
Web フレームワークは、無料のRails チュートリアルをやってから、
掌田津耶乃の、
Python Django 超入門、2018
Node.js超入門、2017
244デフォルトの名無しさん
2018/09/15(土) 23:45:55.32ID:3GwANLPp みんなのGO言語は?
これは兄弟じゃないの?
これは兄弟じゃないの?
245デフォルトの名無しさん
2018/09/16(日) 00:20:27.43ID:0MknoGjv >>236、237、239
どうもありがとうございます!
その関数とprogressbar2について調べてみます。
>>227 ので動かしてみているんですが、どうも番組終了時間になって次の番組が表示されるタイミング時点で偶にバーはまだ68%しか進んでいなかったりしました。
それでも時間が来ると次の番組情報は表示してくれるんですが何となく気持ち悪かったです。
夏休みからPythonをはじめたプログラム未経験文系豚JKの場合です。
自分が読んだ本は退屈なことはPython〜、入門Python3、Pythonではじめるデータラングリング、PythonによるWebスクレイピング、Pythonによるデータ分析入門をそれぞれ流し読みしました。
Pythonによるデータ分析入門は分析そのものの説明じゃなかったので自分には全く読めませんでした。
このスレでたくさん教えてもらって、radikoの一日の番組表の表示、今放送されている番組の表示、録音、自動でファイルへのタグ付け、オンエア曲の情報の表示やSQLに保存する、がとりあえず動くようになった。
上の過程でrequestsの使い方が分かったので、録音が終わったらSlackへの通知や、コンソールを使って動かすんじゃなくて、Hubotを使ってSlackのBotに話しかけて上の操作が出来るようになった。
次はradikoプレミアムのログインや認証にチャレンジしたいけれど、さっぱり分からない。
Pythonで何が出来るのか分かっていないから他に何をやりたいという事が思いつかないので、学習のモチベも保てない。
マルチタスク?マルチスレッドについて学ぶために番組情報の表示と再生が出来るようにしたらいいですか?
もっと面白いことやりたいです。
どうもありがとうございます!
その関数とprogressbar2について調べてみます。
>>227 ので動かしてみているんですが、どうも番組終了時間になって次の番組が表示されるタイミング時点で偶にバーはまだ68%しか進んでいなかったりしました。
それでも時間が来ると次の番組情報は表示してくれるんですが何となく気持ち悪かったです。
夏休みからPythonをはじめたプログラム未経験文系豚JKの場合です。
自分が読んだ本は退屈なことはPython〜、入門Python3、Pythonではじめるデータラングリング、PythonによるWebスクレイピング、Pythonによるデータ分析入門をそれぞれ流し読みしました。
Pythonによるデータ分析入門は分析そのものの説明じゃなかったので自分には全く読めませんでした。
このスレでたくさん教えてもらって、radikoの一日の番組表の表示、今放送されている番組の表示、録音、自動でファイルへのタグ付け、オンエア曲の情報の表示やSQLに保存する、がとりあえず動くようになった。
上の過程でrequestsの使い方が分かったので、録音が終わったらSlackへの通知や、コンソールを使って動かすんじゃなくて、Hubotを使ってSlackのBotに話しかけて上の操作が出来るようになった。
次はradikoプレミアムのログインや認証にチャレンジしたいけれど、さっぱり分からない。
Pythonで何が出来るのか分かっていないから他に何をやりたいという事が思いつかないので、学習のモチベも保てない。
マルチタスク?マルチスレッドについて学ぶために番組情報の表示と再生が出来るようにしたらいいですか?
もっと面白いことやりたいです。
246デフォルトの名無しさん
2018/09/16(日) 01:54:46.83ID:EK9e0hMh 女性なら「たのしいRuby 第5版、2016」をすすめる。
Rubyの女神・女優の池澤あやかも女性
Ruby でも、Selenium WebDriver で、スクレイピングするとか
その後は、Web アプリの開発。
無料のRails チュートリアルをやる
ログインぐらいなら、Selenium WebDriver で、
自動操作で、ユーザー名・パスワードを入力して、ログインできる
Showroom のメニュー・アバターなども、うっとおしいから、それで消してる
Rubyの女神・女優の池澤あやかも女性
Ruby でも、Selenium WebDriver で、スクレイピングするとか
その後は、Web アプリの開発。
無料のRails チュートリアルをやる
ログインぐらいなら、Selenium WebDriver で、
自動操作で、ユーザー名・パスワードを入力して、ログインできる
Showroom のメニュー・アバターなども、うっとおしいから、それで消してる
247デフォルトの名無しさん
2018/09/16(日) 05:21:28.05ID:RAxt/rA1 Ruby勧めてどーすんの
248デフォルトの名無しさん
2018/09/16(日) 05:50:28.28ID:32fLF0l4 ガイジに一般的な思考で対応するな
249デフォルトの名無しさん
2018/09/16(日) 12:25:11.08ID:TMbORASx とりあえず入門python3やります
250デフォルトの名無しさん
2018/09/16(日) 14:41:53.91ID:8ER5Tq3J >>249
effective pythonにすれば?
effective pythonにすれば?
251デフォルトの名無しさん
2018/09/16(日) 17:55:04.89ID:Zt4iEZ/q ちわーくっそ初心者です。
tryとexceptの構文について質問です。
以下のコードでわざとValueErrorがでるように
ターミナルに文字列を入力してるんだけど
except ValueErrorしてても例外処理できないんですが、なぜだかわかる方いらっしゃいますか?
環境
python 3.6.5
mac OS 10.13.6
Atom
コード
a = int(input('type a number'))
b = int(input('type another'))
try:
print(a/b)
except ZeroDivisionError:
print('無効な入力 / Invalid input')
except ValueError:
print('数値を入力してください')
ターミナル
type a numberあ
Traceback (most recent call last):
File "ExceptPractice.py", line 1, in <module>
a = int(input('type a number'))
ValueError: invalid literal for int() with base 10: 'あ'
tryとexceptの構文について質問です。
以下のコードでわざとValueErrorがでるように
ターミナルに文字列を入力してるんだけど
except ValueErrorしてても例外処理できないんですが、なぜだかわかる方いらっしゃいますか?
環境
python 3.6.5
mac OS 10.13.6
Atom
コード
a = int(input('type a number'))
b = int(input('type another'))
try:
print(a/b)
except ZeroDivisionError:
print('無効な入力 / Invalid input')
except ValueError:
print('数値を入力してください')
ターミナル
type a numberあ
Traceback (most recent call last):
File "ExceptPractice.py", line 1, in <module>
a = int(input('type a number'))
ValueError: invalid literal for int() with base 10: 'あ'
252デフォルトの名無しさん
2018/09/16(日) 17:59:16.64ID:75aeC/cD 本気で言ってるのか
inputの位置とtryブロックの範囲をよく見ろ
inputの位置とtryブロックの範囲をよく見ろ
253デフォルトの名無しさん
2018/09/16(日) 18:00:51.59ID:ynEgKPZ+ Python3のhttp.serverモジュールだけど
HTTP/2には対応しないのかな。
HTTP/2には対応しないのかな。
254デフォルトの名無しさん
2018/09/16(日) 18:20:04.63ID:MHdxl4uh 公式のチュートリアルでおk
255デフォルトの名無しさん
2018/09/16(日) 18:22:33.91ID:Zt4iEZ/q256デフォルトの名無しさん
2018/09/16(日) 18:29:11.76ID:HF0YmRsW これはひどい
257デフォルトの名無しさん
2018/09/16(日) 20:07:13.91ID:nqHAh3X3 こういうやり取りは良いと思うな
258デフォルトの名無しさん
2018/09/18(火) 12:20:43.82ID:IalC5NJv >>209の様にファントを変えて投稿するには
どうするのですか?
どうするのですか?
259デフォルトの名無しさん
2018/09/18(火) 13:06:11.53ID:Gab8FMCl >>258のビューワが勝手にASCIIアートと判断してるだけじゃね。
自分のビューワだと同じフォントに見えるよ
自分のビューワだと同じフォントに見えるよ
260デフォルトの名無しさん
2018/09/18(火) 19:28:18.62ID:5C+j+SZY モジュールAからモジュールBをインポートすることでモジュールAのメソッドの定義を上書きしたいんだけど可能?
261デフォルトの名無しさん
2018/09/18(火) 19:36:01.79ID:32W6TMTL モジュールAをインポートせずにモジュールBだけインポートすれば良いのでは?
262デフォルトの名無しさん
2018/09/18(火) 19:45:53.01ID:5C+j+SZY m1.py
―-
class C1:
def f1(self):
print(‘aaa’)
import m2
―-
m2.py
―-
def f2(self):
print(‘bbb’)
from m1 import C1
C1.f1 = f2
―-
とかできない?
―-
class C1:
def f1(self):
print(‘aaa’)
import m2
―-
m2.py
―-
def f2(self):
print(‘bbb’)
from m1 import C1
C1.f1 = f2
―-
とかできない?
263デフォルトの名無しさん
2018/09/18(火) 20:15:26.82ID:3Z5SLW4f そおゆうトリッキーな事はできないと思え
264デフォルトの名無しさん
2018/09/18(火) 21:34:34.65ID:3PaEdz0L >>263
お前なら出来るだろ?
お前なら出来るだろ?
265デフォルトの名無しさん
2018/09/18(火) 21:34:50.63ID:5C+j+SZY class C1:
def f1(self):
print(‘aaa’)
def f2(self):
print(‘bbb’)
C1.f1 = f2
C1().f1() #=> ‘bbb’
はできるのに?
def f1(self):
print(‘aaa’)
def f2(self):
print(‘bbb’)
C1.f1 = f2
C1().f1() #=> ‘bbb’
はできるのに?
266デフォルトの名無しさん
2018/09/18(火) 21:44:32.07ID:3Z5SLW4f267デフォルトの名無しさん
2018/09/18(火) 21:54:38.88ID:MzzhSWkv C1.f1 = f2をm1でやるんじゃだめなんか?
268デフォルトの名無しさん
2018/09/18(火) 21:57:26.18ID:6b03zZt1 すいません、手でカチカチっとダブルクリックした方が
早いようなことをパイソンにやらせるのはどうしてでしょうか
早いようなことをパイソンにやらせるのはどうしてでしょうか
269デフォルトの名無しさん
2018/09/18(火) 21:57:40.61ID:3Z5SLW4f270デフォルトの名無しさん
2018/09/18(火) 22:04:25.92ID:5C+j+SZY テストの時にimportすると定義を上書きしてスタブを使うとかやりたいのだ
271デフォルトの名無しさん
2018/09/18(火) 22:07:14.79ID:3Z5SLW4f272デフォルトの名無しさん
2018/09/19(水) 00:05:43.10ID:McwJY1yY >>271
結局何も情報提供してないのに無能に戻るとどうなっちゃうの?
結局何も情報提供してないのに無能に戻るとどうなっちゃうの?
273デフォルトの名無しさん
2018/09/19(水) 12:06:37.88ID:kBVhwTEM >>262
C1を継承したクラスC2を作ってオーバーライドするのが真っ当だと思う
import m1
class C2(m1.C1):
def__init__(self, *args, **kwds):
super().__init__(*args, **kwds)
def f1(self):
print(‘bbb’)
C1を継承したクラスC2を作ってオーバーライドするのが真っ当だと思う
import m1
class C2(m1.C1):
def__init__(self, *args, **kwds):
super().__init__(*args, **kwds)
def f1(self):
print(‘bbb’)
274デフォルトの名無しさん
2018/09/19(水) 12:10:33.79ID:kBVhwTEM >>270 を読んでなかったわ
275デフォルトの名無しさん
2018/09/19(水) 12:18:54.82ID:PupZqwJJ 最後に C1 = C2 で桶
276デフォルトの名無しさん
2018/09/19(水) 12:30:17.29ID:j0vZv9bU >>268
そういう作業を何千回もやる可能性があるならプログラムにやらせたほうが楽で正確だから
作業の回数が1日1回レベルだったとしても、毎日やらなきゃいけないなら
やり忘れや、ちょっとした間違いを防ぐためにプログラムにやらせたほうがいいから
単純にプログラムを書くのが楽しいから
そういう作業を何千回もやる可能性があるならプログラムにやらせたほうが楽で正確だから
作業の回数が1日1回レベルだったとしても、毎日やらなきゃいけないなら
やり忘れや、ちょっとした間違いを防ぐためにプログラムにやらせたほうがいいから
単純にプログラムを書くのが楽しいから
277デフォルトの名無しさん
2018/09/19(水) 15:16:53.25ID:bRibFDbQ pythonってVisualStudioで使えますか?
278デフォルトの名無しさん
2018/09/19(水) 17:57:22.09ID:2g+A18ll279デフォルトの名無しさん
2018/09/20(木) 00:31:03.27ID:v2140bTt ありがとうございます
言語変えるたびに環境変数とかいじったりって面倒臭そうなので
助かります
言語変えるたびに環境変数とかいじったりって面倒臭そうなので
助かります
280デフォルトの名無しさん
2018/09/20(木) 09:49:06.07ID:dj+2oZ6y 大量にあるDataFrameのデータの日付が
Year, month, day, ...
という感じで各時間区分ごとに別れて入っているのですが、これをtimestampに変換するいい方法はありますか?
Year, month, day, ...
という感じで各時間区分ごとに別れて入っているのですが、これをtimestampに変換するいい方法はありますか?
281デフォルトの名無しさん
2018/09/20(木) 10:51:05.31ID:fiW+YUJ7 >>280
とりあえずここを見て使えそうな処理を使えばいい
https://docs.python.jp/3/library/time.html
俺だったらテキストとして結合して、strptimeで処理するかな
桁揃えの必要があるならzfillを使う
とりあえずここを見て使えそうな処理を使えばいい
https://docs.python.jp/3/library/time.html
俺だったらテキストとして結合して、strptimeで処理するかな
桁揃えの必要があるならzfillを使う
282デフォルトの名無しさん
2018/09/20(木) 11:11:45.64ID:dj+2oZ6y >281
ありがとうございます、テキスト結合→strptimeをforループで回してタイムスタンプのみの配列を作るのをやってみたんですが、レコードが数百万個あるので速度からすると数十分かかりそうでした。
forループを使わずになんとか早くする方法はないでしょうか?
ありがとうございます、テキスト結合→strptimeをforループで回してタイムスタンプのみの配列を作るのをやってみたんですが、レコードが数百万個あるので速度からすると数十分かかりそうでした。
forループを使わずになんとか早くする方法はないでしょうか?
283デフォルトの名無しさん
2018/09/20(木) 12:19:46.96ID:7WHuQIEO numpyに入れる
284デフォルトの名無しさん
2018/09/20(木) 13:48:45.51ID:fiW+YUJ7 >>282
1回だけの処理なら中断保存・再開できる仕組みを入れつつ数十分ぐらい我慢しろ
何度も処理しなきゃいけないなら、処理が遅いPythonにやらせるべきじゃない
CやJavaみたいな処理が早い言語にやらせるべき
あと、リストを渡すと処理したリストを返してくれる関数は
内部的にはforループ使ってる
だから「forループを使わずに」なんて無理
1回だけの処理なら中断保存・再開できる仕組みを入れつつ数十分ぐらい我慢しろ
何度も処理しなきゃいけないなら、処理が遅いPythonにやらせるべきじゃない
CやJavaみたいな処理が早い言語にやらせるべき
あと、リストを渡すと処理したリストを返してくれる関数は
内部的にはforループ使ってる
だから「forループを使わずに」なんて無理
285デフォルトの名無しさん
2018/09/20(木) 14:06:39.21ID:2iENFSTM 年月日がバラバラならtimestampのコンストラクタに年月日をそれぞれ渡したほうが多少は早いんでないの?
286デフォルトの名無しさん
2018/09/20(木) 14:55:31.07ID:tnMs4KBD >>284
numpyみたいに内部的にはCで実装されてるライブラリもあるから使いこなせばPythonでも十分有望
numpyみたいに内部的にはCで実装されてるライブラリもあるから使いこなせばPythonでも十分有望
287デフォルトの名無しさん
2018/09/20(木) 15:49:34.65ID:gMhM2k+x >>284
面白いねw
面白いねw
288デフォルトの名無しさん
2018/09/20(木) 18:01:52.58ID:HnUdBV/V WEBフレームワークにflaskを採用しようと思ってる超初心者プログラマーですが、flaskは仕事で一生使えるフレームワークなのでしょうか?
フレームワークに流行り廃りはあるのは承知ですが今学ぶならRailsみたいに人気のあるフレームワークを勉強した方がいいでしょうか?
フレームワークに流行り廃りはあるのは承知ですが今学ぶならRailsみたいに人気のあるフレームワークを勉強した方がいいでしょうか?
289デフォルトの名無しさん
2018/09/20(木) 18:07:51.35ID:wnlFKUtW 自然言語で何語を勉強しようかと迷うのに似てる
290デフォルトの名無しさん
2018/09/20(木) 18:22:22.52ID:HnUdBV/V >>289
何を選べば無難ですか?
何を選べば無難ですか?
291デフォルトの名無しさん
2018/09/20(木) 19:31:20.85ID:DBWB48iV >>288
そもそもweb屋自体おまえが働ける間生き残り続ける可能性が低いんやからいらん心配せんで好きなんやれや
そもそもweb屋自体おまえが働ける間生き残り続ける可能性が低いんやからいらん心配せんで好きなんやれや
292デフォルトの名無しさん
2018/09/20(木) 21:45:31.05ID:Mlnbbzfh tf-nightly 1.12.0.dev20180920 has requirement keras-applications>=1.0.5, but you'll have keras-applications 1.0.4 which is incompatible.
tf-nightly 1.12.0.dev20180920 has requirement keras-preprocessing>=1.0.3, but you'll have keras-preprocessing 1.0.2 which is incompatible.
tf-nightly-gpu 1.11.0.dev20180917 has requirement keras-applications>=1.0.5, but you'll have keras-applications 1.0.4 which is incompatible.
tf-nightly-gpu 1.11.0.dev20180917 has requirement keras-preprocessing>=1.0.3, but you'll have keras-preprocessing 1.0.2 which is incompatible.
keras-applicationsのバージョンが足りないって警告がでてくるんですがpip install keras-applications --upgradeを入力してもすでに入ってるって言ってきます
どうしたらいいでしょうか
ubuntu16.04.3
tf-nightly 1.12.0.dev20180920 has requirement keras-preprocessing>=1.0.3, but you'll have keras-preprocessing 1.0.2 which is incompatible.
tf-nightly-gpu 1.11.0.dev20180917 has requirement keras-applications>=1.0.5, but you'll have keras-applications 1.0.4 which is incompatible.
tf-nightly-gpu 1.11.0.dev20180917 has requirement keras-preprocessing>=1.0.3, but you'll have keras-preprocessing 1.0.2 which is incompatible.
keras-applicationsのバージョンが足りないって警告がでてくるんですがpip install keras-applications --upgradeを入力してもすでに入ってるって言ってきます
どうしたらいいでしょうか
ubuntu16.04.3
293デフォルトの名無しさん
2018/09/20(木) 22:02:59.66ID:kFoauySG >>290
Pythonを選ぶ時点で大冒険なので大差ない
Pythonを選ぶ時点で大冒険なので大差ない
294デフォルトの名無しさん
2018/09/20(木) 22:23:37.92ID:8Bepevhe >>282の用途なら、juliaがいいんじゃないの?
って思った
Pythonのライブラリも呼び出せるし、移行はカンタン
CSV読み込み用の不特定な型の集合を扱えるDataFrames構造も使えるから
元々大規模なデータ解析の為にjuliaが作られたようなもの
荒らしになるだけなので、この辺で
って思った
Pythonのライブラリも呼び出せるし、移行はカンタン
CSV読み込み用の不特定な型の集合を扱えるDataFrames構造も使えるから
元々大規模なデータ解析の為にjuliaが作られたようなもの
荒らしになるだけなので、この辺で
295デフォルトの名無しさん
2018/09/21(金) 00:13:59.10ID:m8DL5ZJ4 >>288
掌田津耶乃
Python Django 超入門、2018
Node.js超入門、2017
Rails は、すべての言語のフレームワークの基礎になっているから、
無料のRails チュートリアルをやるのが定番
本当は、シンプルサーバー・Sinatra などで、フルスクラッチで書いていくと、
フレームワークを自作するのと同じになるから、よくわかる
掌田津耶乃
Python Django 超入門、2018
Node.js超入門、2017
Rails は、すべての言語のフレームワークの基礎になっているから、
無料のRails チュートリアルをやるのが定番
本当は、シンプルサーバー・Sinatra などで、フルスクラッチで書いていくと、
フレームワークを自作するのと同じになるから、よくわかる
296デフォルトの名無しさん
2018/09/21(金) 07:37:02.86ID:PZuz7ukr >>288ですが無難にrailsにすることにしました
色々相談に乗ってもらってありがとうございました
色々相談に乗ってもらってありがとうございました
297デフォルトの名無しさん
2018/09/21(金) 07:47:52.29ID:IzrcU96S それがよい
298デフォルトの名無しさん
2018/09/21(金) 08:34:45.57ID:OMTVor1h >>296
念の為言っとくが295はpythonスレでruby宣伝を何度注意されても辞めないム版で有名なrubyガイジだからな
念の為言っとくが295はpythonスレでruby宣伝を何度注意されても辞めないム版で有名なrubyガイジだからな
299デフォルトの名無しさん
2018/09/22(土) 13:39:42.64ID:xOVRbYWf300デフォルトの名無しさん
2018/09/24(月) 02:48:42.15ID:6gosj3pF tkinter学んでいるプログラム初心者です。
入力欄に文字を書いて、ボタンを押すと入力した文字が入ったメッセージボックスが出てくるというプログラムを作っています。
下記プログラムにて下から4行目のlambda式はどういった意味を持つのでしょうか?確かにlambdaの記述を省くとうまく動作しないのですが、なぜそうなるのか分からなくて・・・教えてください。
import tkinter as tk
import tkinter.messagebox as tkm
root = tk.Tk()
root.title("messagebox use")
root.geometry("400x300")
#メッセージボックス生成
def showMassage(text):
tkm.showinfo("info",text)
static1 = tk.Label(text="input space")
static1.pack()
#Entry 記述
entry1 = tk.Entry(width=50)
entry1.insert(tk.END,"言葉を入れてください")
entry1.pack()
#button 設置
button1 = tk.Button(text="push",width=50,command=lambda:showMassage(entry1.get()))
button1.pack()
root.mainloop()
入力欄に文字を書いて、ボタンを押すと入力した文字が入ったメッセージボックスが出てくるというプログラムを作っています。
下記プログラムにて下から4行目のlambda式はどういった意味を持つのでしょうか?確かにlambdaの記述を省くとうまく動作しないのですが、なぜそうなるのか分からなくて・・・教えてください。
import tkinter as tk
import tkinter.messagebox as tkm
root = tk.Tk()
root.title("messagebox use")
root.geometry("400x300")
#メッセージボックス生成
def showMassage(text):
tkm.showinfo("info",text)
static1 = tk.Label(text="input space")
static1.pack()
#Entry 記述
entry1 = tk.Entry(width=50)
entry1.insert(tk.END,"言葉を入れてください")
entry1.pack()
#button 設置
button1 = tk.Button(text="push",width=50,command=lambda:showMassage(entry1.get()))
button1.pack()
root.mainloop()
301デフォルトの名無しさん
2018/09/24(月) 08:23:14.19ID:hrySGkvz302デフォルトの名無しさん
2018/09/24(月) 08:52:45.17ID:WK7dhq80303デフォルトの名無しさん
2018/09/24(月) 13:07:01.64ID:6gosj3pF >>302
確かに使わない場合はそのような挙動になりました。
確かに使わない場合はそのような挙動になりました。
304デフォルトの名無しさん
2018/09/24(月) 17:20:23.86ID:WK7dhq80 lambdaの部分を普通の関数として書き換えると
def func():
def showMassage():
tkm.showinfo("info",entry1.get())
return func
これってコールバック関数といわれていて内側の関数は
イベントが発生した時(ボタンが押された時)しか実行されなくなる
command=showMassage(entry1.get())
だと常にcommandにshowMassage(entry1.get())の値が
入ったままの状態になってしまう
コールバック関数を詳しく説明できる能力がないです、ごめんなさい
def func():
def showMassage():
tkm.showinfo("info",entry1.get())
return func
これってコールバック関数といわれていて内側の関数は
イベントが発生した時(ボタンが押された時)しか実行されなくなる
command=showMassage(entry1.get())
だと常にcommandにshowMassage(entry1.get())の値が
入ったままの状態になってしまう
コールバック関数を詳しく説明できる能力がないです、ごめんなさい
305デフォルトの名無しさん
2018/09/24(月) 17:30:21.36ID:Kttr1loZ decorator
306デフォルトの名無しさん
2018/09/24(月) 17:37:31.00ID:y9vcPQXH クロージャーで苦労じゃー
307デフォルトの名無しさん
2018/09/24(月) 18:41:43.61ID:otYBczLg みんなのpython終わったばかりの初心者ですが画像認証はオライリーの本でいいですかね?
308デフォルトの名無しさん
2018/09/24(月) 18:53:58.73ID:QjVDfSuK >>307
マルチポストする屑カスはしね
マルチポストする屑カスはしね
309デフォルトの名無しさん
2018/09/24(月) 19:20:04.62ID:otYBczLg >>308
聞いただけなのに(´・ω・`)
聞いただけなのに(´・ω・`)
310デフォルトの名無しさん
2018/09/24(月) 20:01:59.08ID:y9vcPQXH311デフォルトの名無しさん
2018/09/24(月) 20:07:48.74ID:QjVDfSuK312デフォルトの名無しさん
2018/09/24(月) 20:12:59.31ID:y9vcPQXH313デフォルトの名無しさん
2018/09/24(月) 20:32:11.67ID:QjVDfSuK ( ゚д゚) 、ペッ
314デフォルトの名無しさん
2018/09/24(月) 20:38:00.99ID:y9vcPQXH315デフォルトの名無しさん
2018/09/24(月) 21:32:02.69ID:qyE/3qBT >>304
騙されそうになったが、実質自分自身を返すだけで何もしない関数じゃないかw
騙されそうになったが、実質自分自身を返すだけで何もしない関数じゃないかw
316デフォルトの名無しさん
2018/09/24(月) 21:50:36.77ID:cIWp1XlU >>300
>button1 = tk.Button(text="push",width=50,command=lambda:showMassage(entry1.get()))
そのボタンを押したら、その関数・ラムダが呼ばれるだけ。
ボタンを押したときに呼ばれる、コールバック関数を指定している
>button1 = tk.Button(text="push",width=50,command=lambda:showMassage(entry1.get()))
そのボタンを押したら、その関数・ラムダが呼ばれるだけ。
ボタンを押したときに呼ばれる、コールバック関数を指定している
317デフォルトの名無しさん
2018/09/24(月) 22:24:49.58ID:y9vcPQXH a = lambda x : x + 3
print(a(4))
def hello(x):
def world(y):
return x * y
return world
b = hello(2)
print(b(9))
c = hello(3)
print(c(10))
def hello(x):
return lambda y: x * y
b = hello(2)
print(b(9))
c = hello(3)
print(c(10))
print(a(4))
def hello(x):
def world(y):
return x * y
return world
b = hello(2)
print(b(9))
c = hello(3)
print(c(10))
def hello(x):
return lambda y: x * y
b = hello(2)
print(b(9))
c = hello(3)
print(c(10))
318デフォルトの名無しさん
2018/09/24(月) 23:48:46.66ID:prONdPba y未定義なのに、なにしてエラーにならんの?
319デフォルトの名無しさん
2018/09/25(火) 00:41:04.42ID:5k+bdXu1 >>304
いや、でもなんかすごく納得できました!ありがとうございます!
いや、でもなんかすごく納得できました!ありがとうございます!
320デフォルトの名無しさん
2018/09/25(火) 00:43:35.28ID:5k+bdXu1 >>316
もありがとうございました。コールバック関数ググってみます。
もありがとうございました。コールバック関数ググってみます。
321デフォルトの名無しさん
2018/09/25(火) 09:26:57.75ID:iE/DG1HY すいません。初心者ですがpythonインストールしたのはいいんですが何も始まらないんです。プログラムを書き込むためのウインドウはどこから開けるんでしょうか?
322デフォルトの名無しさん
2018/09/25(火) 09:32:43.28ID:BC4c7eXL Rubyガイジ出番だ
323デフォルトの名無しさん
2018/09/25(火) 11:28:20.97ID:l358aERP >>282
Juliaでやりましょう。
Juliaでやりましょう。
324デフォルトの名無しさん
2018/09/25(火) 11:35:40.14ID:l358aERP >>321
スタートメニューのIDLEをクリックしたらいいんじゃない。
スタートメニューのIDLEをクリックしたらいいんじゃない。
325デフォルトの名無しさん
2018/09/25(火) 12:36:47.64ID:b0qq2JBy >>324
成る程、WindowsからPythonを使おうとしてたのか
ウチはMacだから、ターミナルからPython3打ち込んでポチポチやってたから
出たしで躓くようなことなかったな
UIからPython使えるAppもあるけど、単にスクリプトファイルを実行させるだけだし
Windows版Jupyter noteはないのかな?
これなら、Web上でPythonのプログラミングもできるから
成る程、WindowsからPythonを使おうとしてたのか
ウチはMacだから、ターミナルからPython3打ち込んでポチポチやってたから
出たしで躓くようなことなかったな
UIからPython使えるAppもあるけど、単にスクリプトファイルを実行させるだけだし
Windows版Jupyter noteはないのかな?
これなら、Web上でPythonのプログラミングもできるから
326デフォルトの名無しさん
2018/09/25(火) 12:47:18.17ID:+eWKZg0K Google Collaboratoryでいいんじゃね
327デフォルトの名無しさん
2018/09/25(火) 12:56:01.17ID:iE/DG1HY >>324
なるほど、Integrated DeveLopment Environmentというやつですね。スタートメニューからですか。探してみます。
ちなみにarduirno等マイコンにもpythonは使えますか?
なるほど、Integrated DeveLopment Environmentというやつですね。スタートメニューからですか。探してみます。
ちなみにarduirno等マイコンにもpythonは使えますか?
328デフォルトの名無しさん
2018/09/25(火) 15:26:23.04ID:kqix37on >>325
Windowsにjupyter notebookを入れてHello,Worldするまでのメモ
https://qiita.com/SouTakenaka/items/9801f30c2fd1a378518d
Windowsにjupyter notebookを入れてHello,Worldするまでのメモ
https://qiita.com/SouTakenaka/items/9801f30c2fd1a378518d
329デフォルトの名無しさん
2018/09/25(火) 15:31:19.89ID:kqix37on330デフォルトの名無しさん
2018/09/25(火) 18:08:08.89ID:kqix37on >>327
【Python】Arduinoをシリアル通信で操作
https://algorithm.joho.info/programming/python/arduino-serial/
PythonでI/O制御ができるマイコンボード 「MicroPython pyboard v1.1」
http://select.marutsu.co.jp/list/detail.php?id=733
【Python】Arduinoをシリアル通信で操作
https://algorithm.joho.info/programming/python/arduino-serial/
PythonでI/O制御ができるマイコンボード 「MicroPython pyboard v1.1」
http://select.marutsu.co.jp/list/detail.php?id=733
331デフォルトの名無しさん
2018/09/25(火) 19:53:56.20ID:nX2ocrcO ありがとうございます。まだアルファベットを表記させるだけしか出来ませんがいずれはモーター等動かしてみるつもりです。
332デフォルトの名無しさん
2018/09/25(火) 22:31:30.68ID:3QVoU2wO 最近の月刊I/O見てないけど
pyboard特集やってそう
ラズベリーで工作しよう!な連載載ってたから
I/O誌では早い時期からPython講座連載してて
掲載プログラムリストといえば
Pythonが使われている
昔は、BASICやマシン語だったのに
pyboard特集やってそう
ラズベリーで工作しよう!な連載載ってたから
I/O誌では早い時期からPython講座連載してて
掲載プログラムリストといえば
Pythonが使われている
昔は、BASICやマシン語だったのに
333デフォルトの名無しさん
2018/09/26(水) 14:56:26.05ID:gW7INjNq 「算数&ラズパイから始めるディープラーニング」というのもあるな。
334デフォルトの名無しさん
2018/09/26(水) 18:57:46.78ID:cGc5yci5 pythonの2.7使ってるんだけど文字化けとかエンコとか面倒くさくない?
簡単なスクリプト書くだけなんでwinのコンソールから文字列受け取ってそれに合わせて多少処理変えてどうのこうのーてやるだけなんだけど
ideではエラー出んのにpyinstallerとかpy2exe使って配布する前に最後テストしたら文字化け頻発とかですごい混乱する
簡単なスクリプト書くだけなんでwinのコンソールから文字列受け取ってそれに合わせて多少処理変えてどうのこうのーてやるだけなんだけど
ideではエラー出んのにpyinstallerとかpy2exe使って配布する前に最後テストしたら文字化け頻発とかですごい混乱する
335デフォルトの名無しさん
2018/09/26(水) 19:03:39.24ID:DFsxHyBv336デフォルトの名無しさん
2018/09/26(水) 19:31:13.27ID:cGc5yci5 >>335
仕事で使ってるsiem製品でスクリプト書いたりとかもするんだけど公式サポートしてるのが2.7らしく慣れるためにもとりあえず何でもかんでも2.7使ってる
けどやっぱり普段は3にして一部要求された時に2.7のが良いんかね
仕事で使ってるsiem製品でスクリプト書いたりとかもするんだけど公式サポートしてるのが2.7らしく慣れるためにもとりあえず何でもかんでも2.7使ってる
けどやっぱり普段は3にして一部要求された時に2.7のが良いんかね
337デフォルトの名無しさん
2018/09/26(水) 20:56:35.83ID:DFsxHyBv338デフォルトの名無しさん
2018/09/26(水) 20:57:51.04ID:DFsxHyBv そして
2.7が時代遅れとなった際に
3なり4なりを学び直すのである・・・
2.7が時代遅れとなった際に
3なり4なりを学び直すのである・・・
339デフォルトの名無しさん
2018/09/26(水) 21:57:57.79ID:SlOVL1Du 学び直すというほど変わらんけどな2と3
340デフォルトの名無しさん
2018/09/26(水) 22:13:37.90ID:WQTU7aa+ >winのコンソールから文字列受け取って
2の時に比べたら全然マシだけど
他と連携したり、他から.py実行したりすると
3でも相変わらずエラー起きない?
まあ、対処法は見つけたので困ることはないけど
あ、ちなみにmacです
2の時に比べたら全然マシだけど
他と連携したり、他から.py実行したりすると
3でも相変わらずエラー起きない?
まあ、対処法は見つけたので困ることはないけど
あ、ちなみにmacです
341デフォルトの名無しさん
2018/09/26(水) 23:12:45.83ID:+un+mAjX マカーならやむを得まい
342デフォルトの名無しさん
2018/09/27(木) 00:27:16.96ID:Ft8D7cEG 頭悪いからな
343デフォルトの名無しさん
2018/09/27(木) 00:41:45.56ID:3K4WTrnL344デフォルトの名無しさん
2018/09/27(木) 05:43:50.57ID:i5i/991d >>338
python2のサポート2020年で来れるんだけど。
python2のサポート2020年で来れるんだけど。
345デフォルトの名無しさん
2018/09/27(木) 07:07:01.03ID:L3kO3oQ5 >>344
もちつけ
もちつけ
346デフォルトの名無しさん
2018/09/27(木) 11:47:37.94ID:+X2PETpr >>334
馬鹿には無理
馬鹿には無理
347デフォルトの名無しさん
2018/09/29(土) 13:56:00.42ID:IuTgmxg/ pythonなんか頭悪いのしかつかってない
しかもただのスクリプトのくせに普通にそのまま動かないとか
どんだけ役立たずスクリプトやねんと
しかもただのスクリプトのくせに普通にそのまま動かないとか
どんだけ役立たずスクリプトやねんと
348デフォルトの名無しさん
2018/09/29(土) 15:44:00.08ID:5u9meNsM こっちも荒らされてるのか
349デフォルトの名無しさん
2018/09/29(土) 16:03:41.88ID:UwfF5QN4 ここは初心者スレなんで、pythonを普通にそのまま動かせない半角みたいな初心者でも暖かく見守ってあげないと。
350デフォルトの名無しさん
2018/09/29(土) 19:05:41.87ID:/uKoNQUv python絡みで嫌なことでもあったのかな
351デフォルトの名無しさん
2018/09/30(日) 15:37:29.45ID:A7oy0eHN https://www.daxx.com/article/python-developer-salary-usa
アメリカで需要と平均給与トップとかにわかには信じ難いんだが
アメリカで需要と平均給与トップとかにわかには信じ難いんだが
352デフォルトの名無しさん
2018/09/30(日) 16:39:57.82ID:eyIH13tv にわかならしょうがないね
353デフォルトの名無しさん
2018/10/01(月) 15:27:24.26ID:2uLYuzSw 誰か、pythonista3 の 活用本発行して!!
絶対に売れる。
絶対に売れる。
354デフォルトの名無しさん
2018/10/01(月) 16:46:09.34ID:2dwOGw6s 句読点の荒らし率は高いからこれに反応するレスがつくかつかないかで自演を判断できる
355デフォルトの名無しさん
2018/10/01(月) 21:46:25.11ID:tVJz3rsp Python始めたいんやけど、何からやればいいんや
今かけるのはJavaとシェルスクリプトを業務システムレベルや
今かけるのはJavaとシェルスクリプトを業務システムレベルや
356デフォルトの名無しさん
2018/10/01(月) 21:58:34.22ID:ooXTjlBW なにはなくともハローワールド
その次がファイル入出力
その次はたぶんそれだとテキスト置換の練習とか?
今から始めるなら3.x系にしておけ
その次がファイル入出力
その次はたぶんそれだとテキスト置換の練習とか?
今から始めるなら3.x系にしておけ
357デフォルトの名無しさん
2018/10/01(月) 22:01:27.51ID:YZMrVKUg Javaとシェルスクリプトを業務システムレベルやったらpythonなんて楽勝やろ
358デフォルトの名無しさん
2018/10/01(月) 22:03:49.06ID:tPw9Kpxi >>355
他の言語で(自分で)書いたスクリプトをPythonでフルスクラッチするというのは、
一方をよく理解しているということも相まって、違いも比較できて結構勉強になるよ。
自分の場合2.xの頃から始めたので、結果として、3.xも同様にやる羽目になったけど。
他の言語で(自分で)書いたスクリプトをPythonでフルスクラッチするというのは、
一方をよく理解しているということも相まって、違いも比較できて結構勉強になるよ。
自分の場合2.xの頃から始めたので、結果として、3.xも同様にやる羽目になったけど。
359デフォルトの名無しさん
2018/10/01(月) 22:36:46.55ID:Mau1OsTK paizaでスキルチェックやってみたら
360デフォルトの名無しさん
2018/10/02(火) 02:56:27.70ID:/QfTYNRi たのしいRuby 第5版、2016
みんなのPython 第4版、2017
この2冊は双子。この順に読む。
先に、たのしいをみっちり読めば、みんなのもスラスラ読める
サイトのprogate でもよい
みんなのPython 第4版、2017
この2冊は双子。この順に読む。
先に、たのしいをみっちり読めば、みんなのもスラスラ読める
サイトのprogate でもよい
361デフォルトの名無しさん
2018/10/02(火) 06:20:21.08ID:XHPfCFYq パイキチ、またPythonスレを荒らしだしたのか
マッチポンプは今時流行らないってば
マッチポンプは今時流行らないってば
362デフォルトの名無しさん
2018/10/03(水) 12:55:45.41ID:ULIaqVnE 保守上げ
363デフォルトの名無しさん
2018/10/03(水) 21:59:47.02ID:Tma5IQla 不思議なんだけど、どの言語を贔屓したいかは理解できるが他の言語を貶してなにか得することあるの?
よくありがちなもので、iPhone貶してandroid上げするのは何となくだけど、まあ売り上げに貢献するかもって思うけど、プログラミング言語でそれやって誰が得するんだろう
プロジェクトマネージャーが雑多なスクリプト言語を使われて管理が大変、だから制限させようとした結果ダークサイドに墜ちて、ある言語を貶すようになってしまった
こんな理由でもない限り対立する意味が分からない
単純にダークサイドに堕ちて、非建設的な争いを好む人が多いってことなの?
よくありがちなもので、iPhone貶してandroid上げするのは何となくだけど、まあ売り上げに貢献するかもって思うけど、プログラミング言語でそれやって誰が得するんだろう
プロジェクトマネージャーが雑多なスクリプト言語を使われて管理が大変、だから制限させようとした結果ダークサイドに墜ちて、ある言語を貶すようになってしまった
こんな理由でもない限り対立する意味が分からない
単純にダークサイドに堕ちて、非建設的な争いを好む人が多いってことなの?
364デフォルトの名無しさん
2018/10/03(水) 22:02:02.48ID:NshUGL/I >>363
まぁ現場で他人が書いた糞コードを見て苦労して言語自体にヘイトを溜めるっていうシチュエーションは少なくはないと思う
まぁ現場で他人が書いた糞コードを見て苦労して言語自体にヘイトを溜めるっていうシチュエーションは少なくはないと思う
365デフォルトの名無しさん
2018/10/03(水) 22:22:52.23ID:BYNnNKG/ 「くだすれPython」を「くたばれPython」と見間違えてるんだろうな
366デフォルトの名無しさん
2018/10/03(水) 22:26:57.33ID:b6hWRg0Q アイデンティティを自分以外の事物や集団に委譲している奴はそうなる
その事物が傷つけられることはアイデンティティの危機となり、
事物が持ち上げられることはアイデンティティの強化になる
帰属意識が度を越したような奴だ
そんなに珍しくもない
その事物が傷つけられることはアイデンティティの危機となり、
事物が持ち上げられることはアイデンティティの強化になる
帰属意識が度を越したような奴だ
そんなに珍しくもない
367デフォルトの名無しさん
2018/10/03(水) 23:54:17.11ID:H62SNGUL キモすれPython
368デフォルトの名無しさん
2018/10/04(木) 07:12:26.90ID:sNcNJ12C Pythonが好きだからこそ他言語を挙げて叩くというマッチポンプをやりたいんだろうな
正直そんな理由でPythonスレを荒らすなよと
正直そんな理由でPythonスレを荒らすなよと
369デフォルトの名無しさん
2018/10/04(木) 09:39:44.00ID:uDQ1dvui プログラマは知識マウントしたがる奴が多すぎて、初心者を鬱に追い込む件
370デフォルトの名無しさん
2018/10/04(木) 10:25:17.49ID:FXVBuQxV VB/VBAとPHPは貶されて当然
371デフォルトの名無しさん
2018/10/04(木) 10:57:37.99ID:vhCji18k372デフォルトの名無しさん
2018/10/04(木) 13:06:43.22ID:OaKCCsBZ 普通の荒らしかリアルでゴミみたいな扱いをされて俺の使ってる言語は凄くてそれを使える俺は偉い!他の言語使ってるようなやつはクソ野郎!ていう思考でも持っているのでは?
373デフォルトの名無しさん
2018/10/04(木) 13:18:44.19ID:b8j5ZQ1w どっちみちこのご時世でマッチポンプに引っかかる奴はいないだろ
374デフォルトの名無しさん
2018/10/04(木) 15:24:58.18ID:7tiJnAAs375デフォルトの名無しさん
2018/10/04(木) 19:16:10.73ID:VCC0vX9L if文が複数できない・・・
x = 2
if x == 2:
print("数字は 2.")
if x % 2 == 0:
print("数字は偶数.")
if x % 2 != 0:
print("数字は奇数.")
これを入力したいのですが4行目でエンター押して毎回エラーになります・・・なぜ…?
x = 2
if x == 2:
print("数字は 2.")
if x % 2 == 0:
print("数字は偶数.")
if x % 2 != 0:
print("数字は奇数.")
これを入力したいのですが4行目でエンター押して毎回エラーになります・・・なぜ…?
376デフォルトの名無しさん
2018/10/04(木) 19:26:51.44ID:uDQ1dvui print文のインデントは?
377デフォルトの名無しさん
2018/10/04(木) 19:28:37.16ID:VCC0vX9L あっすみません インデントはしっかりやってました
正確にはこうですね 失礼しました
x = 2
if x == 2:
print("数字は 2.")
if x % 2 == 0:
print("数字は偶数.")
if x % 2 != 0:
print("数字は奇数.")
正確にはこうですね 失礼しました
x = 2
if x == 2:
print("数字は 2.")
if x % 2 == 0:
print("数字は偶数.")
if x % 2 != 0:
print("数字は奇数.")
378デフォルトの名無しさん
2018/10/04(木) 19:32:25.59ID:VCC0vX9L ただこれでもエラーになるという・・・
ええ・・・if文ホントは複数無理なんじゃね・・・?
って心持です 参考書のままにやってるのに・・・
ちなみにバージョンは最新だと思います
3.7(32-bit)
ええ・・・if文ホントは複数無理なんじゃね・・・?
って心持です 参考書のままにやってるのに・・・
ちなみにバージョンは最新だと思います
3.7(32-bit)
379デフォルトの名無しさん
2018/10/04(木) 20:15:29.41ID:wVc7LVoj380デフォルトの名無しさん
2018/10/04(木) 20:48:40.74ID:gfYLoY1b381デフォルトの名無しさん
2018/10/04(木) 20:52:07.59ID:P6ujSYbe なんで? 今のままでエラーなんか起きないだろ?
382デフォルトの名無しさん
2018/10/04(木) 20:58:51.04ID:S7+ANpdX どんなエラー?
インデントにタブとスペースが混ざってたりしない?
インデントにタブとスペースが混ざってたりしない?
383デフォルトの名無しさん
2018/10/04(木) 20:59:28.68ID:zeP0iUEY コンソールでやらないで.pyファイル作れ
384デフォルトの名無しさん
2018/10/04(木) 21:11:59.01ID:lQWMlWLo これは何とも面妖な
385デフォルトの名無しさん
2018/10/04(木) 21:43:29.94ID:DS3BxQCZ エラーメッセージをエイリアン語か何かと思って無視する癖を止めたら、超初心者は卒業できると思うよ。
兎に角エラーメッセージを晒してね
兎に角エラーメッセージを晒してね
386デフォルトの名無しさん
2018/10/04(木) 22:14:58.83ID:KoEltKNu387デフォルトの名無しさん
2018/10/05(金) 01:03:06.71ID:/hQuS5mo へえ、そうなんだ、知らなかったよ
388デフォルトの名無しさん
2018/10/05(金) 02:36:56.42ID:cxTW4oac おまいら親切すぎる
なつかれたら面倒
なつかれたら面倒
389デフォルトの名無しさん
2018/10/05(金) 06:17:27.57ID:euHA0F3o390デフォルトの名無しさん
2018/10/05(金) 07:00:21.00ID:37p1YF83391デフォルトの名無しさん
2018/10/05(金) 07:00:40.10ID:37p1YF83 誤爆した。。。
392デフォルトの名無しさん
2018/10/05(金) 10:49:11.38ID:kmGDPqXy エラーメッセージそのままググるだけでもだいぶ違う
393デフォルトの名無しさん
2018/10/05(金) 11:22:51.52ID:vpbu8eze なんで、コンソールなんか使うのか?
Ruby, Python でも、VSCode を使え!
拡張機能のCode Runner で、何も考えずとも、右クリックメニューから実行できるわい!
Ruby, Python でも、VSCode を使え!
拡張機能のCode Runner で、何も考えずとも、右クリックメニューから実行できるわい!
394デフォルトの名無しさん
2018/10/05(金) 11:59:37.83ID:zGlW4kB1 クリックとかしたくねえからだよ頭悪いな
395デフォルトの名無しさん
2018/10/05(金) 15:22:39.94ID:xGDGeoHe 関数呼び出しの構文について教えて欲しいんだけどさ
AAA(BBB: CCC)とAAA(BBB=CCC)って一緒なの?
AAA(BBB: CCC)とAAA(BBB=CCC)って一緒なの?
396デフォルトの名無しさん
2018/10/05(金) 15:27:22.70ID:Ohnhdvdr AAA(**{BBB: CCC})とAAA(BBB=CCC)
はホボ一緒だけど
関数の定義のされ方によっては違う
はホボ一緒だけど
関数の定義のされ方によっては違う
397遊園地 ◆ExGQrDul2E
2018/10/05(金) 15:40:53.24ID:oe8MXe/3 F5な。
398デフォルトの名無しさん
2018/10/06(土) 17:47:15.35ID:ClYVvTDI djangoでゲーム作ってる方っています?
作ってるなら、どんな感じのゲームを作ってるか知りたいです
djangoでのwebアプリ制作の練習も兼ねて、ログインとかデータ保存のできるブラウザゲームを作ろうと思ってるところなんですが、個人でフレームワークを使っての開発は手に余るかな、と気になって…
JavaScriptの方が管理しやすいかなぁ
作ってるなら、どんな感じのゲームを作ってるか知りたいです
djangoでのwebアプリ制作の練習も兼ねて、ログインとかデータ保存のできるブラウザゲームを作ろうと思ってるところなんですが、個人でフレームワークを使っての開発は手に余るかな、と気になって…
JavaScriptの方が管理しやすいかなぁ
399デフォルトの名無しさん
2018/10/06(土) 17:57:08.71ID:e52HQVrn どうみてもDjangoの方が楽
400デフォルトの名無しさん
2018/10/06(土) 18:03:47.60ID:WCVR4P9P401デフォルトの名無しさん
2018/10/06(土) 18:22:42.90ID:ClYVvTDI ほんとだ、結局JavaScriptが必要ですね
それに、誰かにやってもらう場合だと、サーバー用意するか、相手の方にもPythonいれてもらわないとダメだ…
それに、誰かにやってもらう場合だと、サーバー用意するか、相手の方にもPythonいれてもらわないとダメだ…
402デフォルトの名無しさん
2018/10/07(日) 08:57:44.35ID:uCAn2+3z 言語より環境の方に縛られるという事だな
403デフォルトの名無しさん
2018/10/07(日) 12:13:18.81ID:Q039ezIc 既に環境を構築してあるDockerを使え
便利だぞ
便利だぞ
404デフォルトの名無しさん
2018/10/08(月) 14:28:05.12ID:ofuYlJd2 webapiで取得したjsonのログデータを取得したあとcsvに変換するプログラム作ってます
pandas使ってappendで1行毎dataflameを追加していく方式でやっているんですが処理時間がかなり掛かってしまいます
jsonをcsvに変換する良い方法他にないですかね?
jsonはかなり深くネストされておりfor文使って特定のキーの場合のみdf追加としているので処理が重そうです
csvは10万行近くになります
pandas使ってappendで1行毎dataflameを追加していく方式でやっているんですが処理時間がかなり掛かってしまいます
jsonをcsvに変換する良い方法他にないですかね?
jsonはかなり深くネストされておりfor文使って特定のキーの場合のみdf追加としているので処理が重そうです
csvは10万行近くになります
405デフォルトの名無しさん
2018/10/08(月) 15:11:28.99ID:+5qyKWRv 元のjsonファイルと出力したいcsvのイメージ貼ってみ
406デフォルトの名無しさん
2018/10/08(月) 16:49:00.47ID:QZm1evdb jsonはこんな感じにvisitの中身全部が欲しいです https://jsoneditoronline.org/?id=9ceece44f53c498e925b524305f23a33
csvはこんな感じhttps://dotup.org/uploda/dotup.org1662082.jpg
keyがカラムで値がフィールド、actionsの中のthreatsが配列になってるのでその部分は複数行に分けて配列数分欲しいです
csvはこんな感じhttps://dotup.org/uploda/dotup.org1662082.jpg
keyがカラムで値がフィールド、actionsの中のthreatsが配列になってるのでその部分は複数行に分けて配列数分欲しいです
407デフォルトの名無しさん
2018/10/08(月) 19:20:19.69ID:0S7LCRH0 1レコードあたりの行数に目途が付くなら
単にテキストファイルをシーケンシャルに読んで
レコード毎にループして正規表現とかで処理するか
丸ごと一個のjsonを読むんじゃなくて
json の visits [] の中身だけに適用して
やっぱりレコード毎にループで処理
単にテキストファイルをシーケンシャルに読んで
レコード毎にループして正規表現とかで処理するか
丸ごと一個のjsonを読むんじゃなくて
json の visits [] の中身だけに適用して
やっぱりレコード毎にループで処理
408デフォルトの名無しさん
2018/10/09(火) 11:08:24.97ID:ut46KIbF ちょっと何言ってるか分からないです、もう少しかみ砕いてほすぃ
409デフォルトの名無しさん
2018/10/09(火) 12:09:20.78ID:lquF7TGT >>408
全体的にpandasは使わずに
正規表現などを使った自前の処理でカンマ区切りのテキストを生成して
テキストファイルに追記モードで行を追加していけば処理が軽くなるんじゃね
ということ
あと、countryとcountryCodeが常に同じペアになるなら長い方を削除するとか
"os": "Windows"を"win"とか"w"に変換するとかで書き込み量を減らせば
多少早くなるかも
全体的にpandasは使わずに
正規表現などを使った自前の処理でカンマ区切りのテキストを生成して
テキストファイルに追記モードで行を追加していけば処理が軽くなるんじゃね
ということ
あと、countryとcountryCodeが常に同じペアになるなら長い方を削除するとか
"os": "Windows"を"win"とか"w"に変換するとかで書き込み量を減らせば
多少早くなるかも
410デフォルトの名無しさん
2018/10/09(火) 17:28:44.16ID:c0UbTvkE jsonのobjectって結局馬鹿デカいリストだから
全部pandasに食わせるのは非効率
全部pandasに食わせるのは非効率
411デフォルトの名無しさん
2018/10/09(火) 19:09:14.17ID:QlHcI7ga412デフォルトの名無しさん
2018/10/10(水) 01:28:49.68ID:cxHjn/W/ 25000件で10万レコードって意味なら
1レコードあたりたったの4行だぞ
大したことないじゃん
1レコードあたりたったの4行だぞ
大したことないじゃん
413デフォルトの名無しさん
2018/10/10(水) 01:50:02.45ID:q9nqGoRh 恥ずかしい
414デフォルトの名無しさん
2018/10/10(水) 07:27:32.29ID:sjNy7la0 anaconda環境でnotepadでプログラム書くのできますか?
Jupiter使ったほうが良いでしょうか?
Jupiter使ったほうが良いでしょうか?
415デフォルトの名無しさん
2018/10/10(水) 07:48:52.41ID:qywSzTWT メモ帳は、プログラミングに使ったらダメ!
BOM付きUTF-8 になるから、バグる。
BOMなしUTF-8(UTF-8N)にできるエディタを使うべき!
今は、すべての言語で、VSCode を使う
BOM付きUTF-8 になるから、バグる。
BOMなしUTF-8(UTF-8N)にできるエディタを使うべき!
今は、すべての言語で、VSCode を使う
416デフォルトの名無しさん
2018/10/10(水) 08:25:31.03ID:sQpJ1MsF jupyterな
417デフォルトの名無しさん
2018/10/11(木) 05:13:12.70ID:MfMAF/GN >>415
ありがとうございます。PCが古いので軽いの探します。
ありがとうございます。PCが古いので軽いの探します。
418デフォルトの名無しさん
2018/10/11(木) 06:05:36.88ID:4dmempzq >>417
メモ帳のような気楽に使える軽いWindows用エディタでTeraPadがあるよ
BOMなしUTF-8にも対応してて、設定することでデフォルトで使う文字コードや改行文字などを指定できる
いろいろな言語の予約語の強調表示にも対応してる
TeraPad
https://www.vector.co.jp/soft/win95/writing/se104390.html
メモ帳のような気楽に使える軽いWindows用エディタでTeraPadがあるよ
BOMなしUTF-8にも対応してて、設定することでデフォルトで使う文字コードや改行文字などを指定できる
いろいろな言語の予約語の強調表示にも対応してる
TeraPad
https://www.vector.co.jp/soft/win95/writing/se104390.html
419デフォルトの名無しさん
2018/10/11(木) 08:09:45.65ID:MfMAF/GN >>415
すいません、ありがとうございます。
それとパスが通ってなくコマンドプロンプトからpythonと入れても起動できなくて、anaconda3\pythonだと起動するのですが。
環境変数にC:\Anaconda3;C:\Anaconda3\Scripts;C:\Anaconda3\Library\bin;など色々試してもダメでした。
英語のサイトとかを見てもできなくて、なんか根本的な所が足りないと思います。
なにか根本から勉強できるサイトはないでしょうか?英語でもなんとか頑張ります。
すいません、ありがとうございます。
それとパスが通ってなくコマンドプロンプトからpythonと入れても起動できなくて、anaconda3\pythonだと起動するのですが。
環境変数にC:\Anaconda3;C:\Anaconda3\Scripts;C:\Anaconda3\Library\bin;など色々試してもダメでした。
英語のサイトとかを見てもできなくて、なんか根本的な所が足りないと思います。
なにか根本から勉強できるサイトはないでしょうか?英語でもなんとか頑張ります。
420デフォルトの名無しさん
2018/10/11(木) 08:27:36.65ID:55KoDwWG >>419
ログインし直す
ログインし直す
421デフォルトの名無しさん
2018/10/11(木) 09:45:22.82ID:/KTbB4eS Python と Javascript ではじめるデータビジュアライゼーションの50ページです
https://ideone.com/Xv83M6
28行目でエラーになってしまいます。
Traceback (most recent call last):
File "./hoge.py", line 28, in <module>
cols.sort()
AttributeError: 'dict_keys' object has no attribute 'sort'
何がいけないんでしょうか?
https://ideone.com/Xv83M6
28行目でエラーになってしまいます。
Traceback (most recent call last):
File "./hoge.py", line 28, in <module>
cols.sort()
AttributeError: 'dict_keys' object has no attribute 'sort'
何がいけないんでしょうか?
422デフォルトの名無しさん
2018/10/11(木) 11:12:50.15ID:dGtKIiaR 'dict_keys' オブジェクトは 'sort' 属性をもっていない
sortメソッドはおそらくリストオブジェクトのメソッドだろうから
dict_keysオブジェクトをlistオブジェクトにしたら動くと思うよ
sortメソッドはおそらくリストオブジェクトのメソッドだろうから
dict_keysオブジェクトをlistオブジェクトにしたら動くと思うよ
423デフォルトの名無しさん
2018/10/11(木) 11:17:30.10ID:6B3tPTW8424デフォルトの名無しさん
2018/10/11(木) 11:25:22.78ID:/KTbB4eS >>422
どうもありがとうございます
list()で括ったらうまくいきました
3年くらい前の本なんですが、Python2だとこれでも動いたのかそれとも誤記なのかどっちでしょうか?
次のページで、printする際に最後にコンマを付けると改行されないと書いてあったけれど、python3ではコンマ有る無しで表示結果は変わりませんでした。
print(hoge), # こんな感じで
どうもありがとうございます
list()で括ったらうまくいきました
3年くらい前の本なんですが、Python2だとこれでも動いたのかそれとも誤記なのかどっちでしょうか?
次のページで、printする際に最後にコンマを付けると改行されないと書いてあったけれど、python3ではコンマ有る無しで表示結果は変わりませんでした。
print(hoge), # こんな感じで
425デフォルトの名無しさん
2018/10/11(木) 11:31:34.26ID:3Bdkvxy9 漏れは、TeraPad は、メモ書きに使っている。
アプリのサイズが小さい
ただし、一部の文字が使えない。
中国の地名の「深圳」みたいな文字が「深?」になる
アプリのサイズが小さい
ただし、一部の文字が使えない。
中国の地名の「深圳」みたいな文字が「深?」になる
426デフォルトの名無しさん
2018/10/11(木) 11:35:19.88ID:dGtKIiaR >>424
詳しくはpython2とpython3の違いでググってね
詳しくはpython2とpython3の違いでググってね
427デフォルトの名無しさん
2018/10/11(木) 11:43:56.19ID:3Bdkvxy9 >>419
例えば、コマンドプロンプトで、where notepad
と入力すると以下のように、メモ帳の実行ファイルのパスが表示される
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
同様に、where python と入力すれば?
これで正しく表示されないのなら、
python.exe があるフォルダを、ユーザー環境変数PATH に追加する
環境変数PATHをいじるという事は、全システムの挙動を変える、危険な行為だから、
その知識がないと、開発なんてできない!
例えば、コマンドプロンプトで、where notepad
と入力すると以下のように、メモ帳の実行ファイルのパスが表示される
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
同様に、where python と入力すれば?
これで正しく表示されないのなら、
python.exe があるフォルダを、ユーザー環境変数PATH に追加する
環境変数PATHをいじるという事は、全システムの挙動を変える、危険な行為だから、
その知識がないと、開発なんてできない!
428デフォルトの名無しさん
2018/10/11(木) 12:31:23.10ID:3et536X6429デフォルトの名無しさん
2018/10/11(木) 12:35:06.81ID:3et536X6 いけねカンマ抜けた
print(hoge, end='')
print(hoge, end='')
430デフォルトの名無しさん
2018/10/11(木) 13:10:38.79ID:bLRRmr2D431デフォルトの名無しさん
2018/10/11(木) 18:42:11.43ID:MfMAF/GN >>427
ありがとうございます。
ずっとやってましたが、色々と調べててもわかりそうにありません。
anaconda3\pythonで動くのに、whereでpythonは出てこず、Path設定してもダメです。
ほんと基本がわかってないと思うので、pathにチェック入れてanacondaを再インストールしてみようと思います。
自分でいじるのは、知識をどうにかしてつけてからにします。
ありがとうございます。
ずっとやってましたが、色々と調べててもわかりそうにありません。
anaconda3\pythonで動くのに、whereでpythonは出てこず、Path設定してもダメです。
ほんと基本がわかってないと思うので、pathにチェック入れてanacondaを再インストールしてみようと思います。
自分でいじるのは、知識をどうにかしてつけてからにします。
432デフォルトの名無しさん
2018/10/11(木) 20:38:12.53ID:OPK+KI2v >>431
Pythonで何をしたい?機械学習関係ならGoogle Colabがお手軽
Pythonで何をしたい?機械学習関係ならGoogle Colabがお手軽
433デフォルトの名無しさん
2018/10/11(木) 23:48:03.56ID:gjrJHmO+ Anacondaのデフォインストール先C:\Users\<ユーザー名>\Anaconda3じゃん
C:\Anaconda3にパス通しても動かなくて当たり前
コマンドプロンプトからやらずにスタートメニューのAnaconda Promptから開けばパス通ったコマンドプロンプトが開く
C:\Anaconda3にパス通しても動かなくて当たり前
コマンドプロンプトからやらずにスタートメニューのAnaconda Promptから開けばパス通ったコマンドプロンプトが開く
434デフォルトの名無しさん
2018/10/12(金) 05:14:13.33ID:sf+PB/Vk435デフォルトの名無しさん
2018/10/12(金) 09:45:35.48ID:C1pVYns8 Linux の基本コマンドとか、環境変数PATH など、
OS の基礎を知らない人は、開発者になれない
情報処理資格とか、コンピューターリテラシーが必要
仮想環境では、activate を実行したときだけ、
環境変数PATH に追加するようなプログラムもある
activate する前には、python というコマンドは実行できないが、
activate した後には、python というコマンドが実行できる
OS の基礎を知らない人は、開発者になれない
情報処理資格とか、コンピューターリテラシーが必要
仮想環境では、activate を実行したときだけ、
環境変数PATH に追加するようなプログラムもある
activate する前には、python というコマンドは実行できないが、
activate した後には、python というコマンドが実行できる
436デフォルトの名無しさん
2018/10/12(金) 14:37:53.89ID:46Wm2YVF >情報処理資格
Linux とは関係ない
開発に必要ということは同意
Linux とは関係ない
開発に必要ということは同意
437デフォルトの名無しさん
2018/10/13(土) 20:39:27.21ID:i2AAnytP EXCELを操作できるライブラリopenpyxl(ver2.3.0-1)なんですが行の挿入でエラーになります。
import openpyxl as py
wb = py.load_workbook('aa.xlsx')
ws = wb.active
ws['A1'] = 'NURUPO'
ws.insert_rows (1)
wb.save('aa.xlsx')
insert_rowsじゅないの?
import openpyxl as py
wb = py.load_workbook('aa.xlsx')
ws = wb.active
ws['A1'] = 'NURUPO'
ws.insert_rows (1)
wb.save('aa.xlsx')
insert_rowsじゅないの?
438デフォルトの名無しさん
2018/10/13(土) 21:34:22.63ID:f9khLXsZ439デフォルトの名無しさん
2018/10/13(土) 22:05:44.95ID:i2AAnytP サンクス
バージョンアップに挑戦してみる
バージョンアップに挑戦してみる
440デフォルトの名無しさん
2018/10/14(日) 00:43:28.48ID:7a55cFNG re.searchでグループ化したものを取り出す時に
?P<name>で出来たのですが
re.subと同様に通常の正規表現の「\1」のように
書く書き方は出来ないですか? よろしくお願いします。
?P<name>で出来たのですが
re.subと同様に通常の正規表現の「\1」のように
書く書き方は出来ないですか? よろしくお願いします。
441デフォルトの名無しさん
2018/10/14(日) 02:11:30.62ID:bkAbhEU5 >440
> m = re.search("b(.)", "abcdefg")
> print(m.group(1))
c
> m = re.search("b(.)", "abcdefg")
> print(m.group(1))
c
442デフォルトの名無しさん
2018/10/14(日) 02:22:51.26ID:7a55cFNG >>441
ありがとうございます!
ありがとうございます!
443デフォルトの名無しさん
2018/10/14(日) 06:13:05.25ID:Ov+YlZxq アナコンダインストールすればIDEいらない?
444デフォルトの名無しさん
2018/10/14(日) 16:58:59.85ID:G4e8iFcg Py_INCREF()を呼ぶタイミングを教えてください
445デフォルトの名無しさん
2018/10/14(日) 19:12:00.22ID:NuEYON6j 下のようなコードを書いたとして、
mainの中でfunc1が呼ばれない場合でもhogeはimportされますか?
func1はテスト用に置いてるだけで普段は使わない関数なので普段は余計なhogeをインポートされたくないのですがやはりコメントアウトしなきゃですかね?
def func1():
import hoge
...
def main():
...
mainの中でfunc1が呼ばれない場合でもhogeはimportされますか?
func1はテスト用に置いてるだけで普段は使わない関数なので普段は余計なhogeをインポートされたくないのですがやはりコメントアウトしなきゃですかね?
def func1():
import hoge
...
def main():
...
446デフォルトの名無しさん
2018/10/14(日) 19:35:54.62ID:FWr9wKhu >mainの中でfunc1が呼ばれない場合でもhogeはimportされますか?
されないよ ためしてみそ
されないよ ためしてみそ
447デフォルトの名無しさん
2018/10/14(日) 20:15:26.78ID:O0tCb1jZ ありがとうございます!
確かめたくても方法が分からなかったですので。助かりました
確かめたくても方法が分からなかったですので。助かりました
448デフォルトの名無しさん
2018/10/14(日) 21:15:09.25ID:jLw0xcfm >>446
どうやったら試せますか?
どうやったら試せますか?
449デフォルトの名無しさん
2018/10/14(日) 21:16:06.39ID:WLfX4fFS キャッシュで判る
450デフォルトの名無しさん
2018/10/14(日) 21:44:29.12ID:FWr9wKhu451デフォルトの名無しさん
2018/10/14(日) 21:45:08.68ID:SE0u9ZQa 日本語で
452デフォルトの名無しさん
2018/10/14(日) 21:46:06.36ID:WLfX4fFS その理屈だと一回呼んで戻ってきたら使えることになるな
453デフォルトの名無しさん
2018/10/14(日) 21:48:40.36ID:FWr9wKhu454デフォルトの名無しさん
2018/10/14(日) 21:53:34.20ID:FWr9wKhu ちょっとちゃんと実験してみるは... 三 ( ´D`)
455デフォルトの名無しさん
2018/10/14(日) 21:59:28.27ID:FWr9wKhu ( ・∀・)ノフォラァヨ!!---===≡≡≡ ttp://dpaste.com/18SSZEP :main内でエラーするかきかた
456デフォルトの名無しさん
2018/10/14(日) 22:03:32.75ID:FWr9wKhu つづき
ttp://dpaste.com/17A5RJ3 :やっぱりmain内でえらーしますた (この はっそうは なかった)
けつろん
>450の注釈はまちがいまくりだな!ゲヒャ(∀・∀)
>>452の疑問はどんぴしゃごもっともだった
ttp://dpaste.com/17A5RJ3 :やっぱりmain内でえらーしますた (この はっそうは なかった)
けつろん
>450の注釈はまちがいまくりだな!ゲヒャ(∀・∀)
>>452の疑問はどんぴしゃごもっともだった
457デフォルトの名無しさん
2018/10/14(日) 22:19:11.86ID:FWr9wKhu けつろん
> 450のかき方(インデントは正しくできているものとしてクレン)したら、
func1の中でしか
reのimportは効いてナイン
> 450のかき方(インデントは正しくできているものとしてクレン)したら、
func1の中でしか
reのimportは効いてナイン
458デフォルトの名無しさん
2018/10/14(日) 22:21:07.83ID:OWtIHbk2 importされたモジュールはimport 文が表れるスコープのローカル名前空間で名前を定義される
https://docs.python.org/ja/3/reference/simple_stmts.html#import
https://docs.python.org/ja/3/reference/simple_stmts.html#import
459デフォルトの名無しさん
2018/10/14(日) 22:52:00.55ID:FWr9wKhu >>458
ありがとーん
ありがとーん
460デフォルトの名無しさん
2018/10/14(日) 22:53:21.18ID:O0tCb1jZ 結局スコープ内でしか有効じゃないから確かめる方法は無いってこと?
461デフォルトの名無しさん
2018/10/14(日) 22:53:49.91ID:jLw0xcfm たいへん勉強になりますた。
462デフォルトの名無しさん
2018/10/15(月) 04:25:17.24ID:0W4mw5Ny463デフォルトの名無しさん
2018/10/15(月) 08:59:02.58ID:pyA/8yHB キャッシュはどうやって見れますか?
mainでキャッシュ見れる関数を書くのですか?
mainでキャッシュ見れる関数を書くのですか?
464デフォルトの名無しさん
2018/10/15(月) 09:32:04.81ID:vNVpiBIf マジでアホの考えなんとやらだ
importするとクラッシュするモジュールを用意して
func1からimportしてみりゃーいいだろ
クラッシュすればimportされてるし、しないならimportされていない
importするとクラッシュするモジュールを用意して
func1からimportしてみりゃーいいだろ
クラッシュすればimportされてるし、しないならimportされていない
465デフォルトの名無しさん
2018/10/15(月) 09:56:16.94ID:XOcEM3KA importするとクラッシュするモジュールが発見出来ませんでした・・
よければ名前を教えて貰えますか?pipで入れられたらなおありがたいです。
よければ名前を教えて貰えますか?pipで入れられたらなおありがたいです。
466デフォルトの名無しさん
2018/10/15(月) 09:57:31.08ID:vNVpiBIf いや、自分で書けばいいだろ
馬鹿が
馬鹿が
467デフォルトの名無しさん
2018/10/15(月) 10:31:21.43ID:/DZZgAIK importするmoduleを自分で書くなら
moduleの初期化時にprint('読まれたよ!')って書いて置けば桶
moduleの初期化時にprint('読まれたよ!')って書いて置けば桶
468デフォルトの名無しさん
2018/10/15(月) 12:38:01.14ID:A4+xGAqj なんなの遊園地?
469デフォルトの名無しさん
2018/10/15(月) 16:32:59.34ID:13a7w8hI >>467
天才現る!
天才現る!
470デフォルトの名無しさん
2018/10/15(月) 18:05:35.02ID:5iEXqQwD >>460
スコープ内で有効だから確かめられないではなくグローバル変数にすれば良いのでは
def func():
import re as _re
global re
re = _re
def main():
func() #コメントアウトするとprintでエラー
print(re)
スコープ内で有効だから確かめられないではなくグローバル変数にすれば良いのでは
def func():
import re as _re
global re
re = _re
def main():
func() #コメントアウトするとprintでエラー
print(re)
471デフォルトの名無しさん
2018/10/15(月) 18:19:51.97ID:/DZZgAIK def main():
#func() #func()無関係にprintでエラー
import re as _re
print(re)
#func() #func()無関係にprintでエラー
import re as _re
print(re)
472デフォルトの名無しさん
2018/10/15(月) 21:29:43.28ID:E6pr56BO 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
473デフォルトの名無しさん
2018/10/15(月) 21:35:11.02ID:E6pr56BO 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
474デフォルトの名無しさん
2018/10/16(火) 17:08:42.26ID:u7YyW5Kg 自作クラスのインスタンスが持ってる変数を全て、保存しておいた値に戻すようなコードを書きたいのだけれど、どうやって書けばいいかな?
ある時点の値にロールバックしたいということなのだけれど、継承していてもちゃんと動作するようにしたい
想定している処理はこんな感じ
class A:
def rollback(self):
全部のインスタンス変数を self.backup の値に戻す
def make_backup(self):
self.backup = バックアップを作成
class B(A):
def proc(self):
self.make_backup()
# なんか処理
self.rollback()
設計が悪いと感じたらなにか代替案を教えていただければ嬉しいです
ある時点の値にロールバックしたいということなのだけれど、継承していてもちゃんと動作するようにしたい
想定している処理はこんな感じ
class A:
def rollback(self):
全部のインスタンス変数を self.backup の値に戻す
def make_backup(self):
self.backup = バックアップを作成
class B(A):
def proc(self):
self.make_backup()
# なんか処理
self.rollback()
設計が悪いと感じたらなにか代替案を教えていただければ嬉しいです
475デフォルトの名無しさん
2018/10/16(火) 18:16:27.10ID:YLHbxnbG pickle
476デフォルトの名無しさん
2018/10/16(火) 18:24:52.10ID:LVmCdvc6 あの、プログラム終わったら次のプログラムを起動したいのですがどうやったら開けますか?
最後にはシャットダウンしたいです。
p1.py実行
→最後の行でp2.pyを呼び出す
→p2.py実行
...
→最後の行でpn.pyを呼び出す
→pn.py実行
→最後の行でシャットダウン
こんな感じでやりたいです。
最後にはシャットダウンしたいです。
p1.py実行
→最後の行でp2.pyを呼び出す
→p2.py実行
...
→最後の行でpn.pyを呼び出す
→pn.py実行
→最後の行でシャットダウン
こんな感じでやりたいです。
477デフォルトの名無しさん
2018/10/16(火) 18:28:08.45ID:YLHbxnbG subprocess.Popen
478デフォルトの名無しさん
2018/10/16(火) 18:32:15.10ID:LVmCdvc6 ありがとうございます、できそうです。
479デフォルトの名無しさん
2018/10/16(火) 18:34:41.31ID:+Y6Wm7U2 パイパイを実行?
480デフォルトの名無しさん
2018/10/16(火) 21:07:08.91ID:uMB0oNTu >>476
それチェーンにしないとダメなの?
普通にp1.py, p2.py, ..., pn.pyを次々に呼び出して最後にシャットダウンするシェルスクリプトなりバッチファイルなりを書けばいいような気もするんだが
それチェーンにしないとダメなの?
普通にp1.py, p2.py, ..., pn.pyを次々に呼び出して最後にシャットダウンするシェルスクリプトなりバッチファイルなりを書けばいいような気もするんだが
481デフォルトの名無しさん
2018/10/17(水) 11:21:44.01ID:tSH31TrF >>474
グローバル変数使うんじゃだめ?
グローバル変数使うんじゃだめ?
482デフォルトの名無しさん
2018/10/17(水) 11:49:20.45ID:LtC7K5yP ORM
483デフォルトの名無しさん
2018/10/17(水) 12:47:48.23ID:tSH31TrF >>474
>>481です。知ったかぶりしてすみません。グローバル変数ではなくクラス変数でした。
test.pyで
class MyClass:
commonVALUE=0
def __init__(self,initv):
self.value=initv
def p(self):
print(f'instance value= {self.value}')
print(f'class value= {MyClass.commonVALUE}')
def bkup(self):
MyClass.commonVALUE=self.value
def bkload(self):
self.value=MyClass.commonVALUE
としといて
>>> from test import *
>>> a=MyClass(100)
>>> b=Myclass(0)
>>> a.bkup()
>>> b.p()
instance value= 0
class value= 100
>>> b.bkload()
>>> b.p()
instance value= 100
class value= 100
この後で
>>> c=MyClass(-1)とあらたにインスタンスを作っても
>>> c.p()
instance value= -1
class value= 100
で、クラス変数は0にはならないみたい。
>>481です。知ったかぶりしてすみません。グローバル変数ではなくクラス変数でした。
test.pyで
class MyClass:
commonVALUE=0
def __init__(self,initv):
self.value=initv
def p(self):
print(f'instance value= {self.value}')
print(f'class value= {MyClass.commonVALUE}')
def bkup(self):
MyClass.commonVALUE=self.value
def bkload(self):
self.value=MyClass.commonVALUE
としといて
>>> from test import *
>>> a=MyClass(100)
>>> b=Myclass(0)
>>> a.bkup()
>>> b.p()
instance value= 0
class value= 100
>>> b.bkload()
>>> b.p()
instance value= 100
class value= 100
この後で
>>> c=MyClass(-1)とあらたにインスタンスを作っても
>>> c.p()
instance value= -1
class value= 100
で、クラス変数は0にはならないみたい。
484デフォルトの名無しさん
2018/10/17(水) 13:06:09.93ID:tSH31TrF 行数制限のため連投ですみません。
継承も大丈夫です。
>>> class B(MyClass):
... def dec(self):
... self.value-=1
>>> d=B(1)
>>> d.p()
instance value= 1
class value= 100
>>> a.bkup()
>>> d.p()
instance value= 1
class value= 100
>>> d.bkload()
>>> d.dec()
>>> d.p()
instance value= 99
class value= 100
継承も大丈夫です。
>>> class B(MyClass):
... def dec(self):
... self.value-=1
>>> d=B(1)
>>> d.p()
instance value= 1
class value= 100
>>> a.bkup()
>>> d.p()
instance value= 1
class value= 100
>>> d.bkload()
>>> d.dec()
>>> d.p()
instance value= 99
class value= 100
485デフォルトの名無しさん
2018/10/17(水) 13:31:27.53ID:LGIAN4QA pickle
486デフォルトの名無しさん
2018/10/17(水) 13:35:53.65ID:cWz6TRDk487デフォルトの名無しさん
2018/10/17(水) 17:07:18.34ID:tSH31TrF >>486
クラスと継承クラス共通でバックアップって意味じゃないの? そりゃスマンコってす
...
各インスタンスごとのバックアップを作って、一括でpush/popしたいなら、
リストの要素を各インスタンスをにしといて、
for i in in instance_list:
i.backup()
とかにすればいいだけなんでねの?
クラスと継承クラス共通でバックアップって意味じゃないの? そりゃスマンコってす
...
各インスタンスごとのバックアップを作って、一括でpush/popしたいなら、
リストの要素を各インスタンスをにしといて、
for i in in instance_list:
i.backup()
とかにすればいいだけなんでねの?
488デフォルトの名無しさん
2018/10/18(木) 10:08:35.95ID:0gY6dccD >>487
push-popと言いながらプログラムはpush-popじゃないのはわざと?
push-popと言いながらプログラムはpush-popじゃないのはわざと?
489デフォルトの名無しさん
2018/10/18(木) 16:41:15.03ID:551Ojw2f def 関数(arg1,arg2):
ゴニョゴニョ
return ←これが全く理解できないんだけど、目からウロコみたいなページみたいなのないです?
returnが入ると全くわからない。
ゴニョゴニョ
return ←これが全く理解できないんだけど、目からウロコみたいなページみたいなのないです?
returnが入ると全くわからない。
490デフォルトの名無しさん
2018/10/19(金) 07:14:22.21ID:97FgwNUY codecs.openて普通のopenより処理重いきがするんですが認識あってるかね?
2.7使ってて文字コード指定で100mb前後のtxtなりcsvてり触りたいんだけど通常のopenでは文字指定出来ず、ioモジュールのopen使うと他のライブラリで使ってるopenの挙動がおかしくなる(?)し、codecs遅いしでどうするのがスマートなのかわからん
2.7使ってて文字コード指定で100mb前後のtxtなりcsvてり触りたいんだけど通常のopenでは文字指定出来ず、ioモジュールのopen使うと他のライブラリで使ってるopenの挙動がおかしくなる(?)し、codecs遅いしでどうするのがスマートなのかわからん
491デフォルトの名無しさん
2018/10/19(金) 08:17:42.62ID:5hJcbR3H codecs.openを使う
そもそもopenに追加処理をしてるのだから、重くて当たり前だろう
そもそもopenに追加処理をしてるのだから、重くて当たり前だろう
492デフォルトの名無しさん
2018/10/19(金) 12:51:38.13ID:jQ8EJjtV493デフォルトの名無しさん
2018/10/20(土) 14:00:43.26ID:aYMp4dZA https://github.com/michaldaniel/Ebook-Viewer
こちらのgitで公開されているLinux用epubビューアを改造して使いやすくしようと思っているのですが、
行き詰まってしまいました。
ブラウザの戻るボタンのようにリンク先(引用元など)に飛んだ後、直前に戻るボタンを実装したいのですが
(ボタンはgtk3の都合上up arrowボタンを使っています)
改造したのはheader_bar.pyでして、
def __populate_headerbar(self):
(途中省略)
# Adds up arrow chapter navigation button
self.up_arrow_button = Gtk.Button()
self.up_arrow_button.add(Gtk.Arrow(Gtk.ArrowType.UP, Gtk.ShadowType.NONE))
self.up_arrow_button.set_sensitive(False);
self.up_arrow_button.connect("clicked", self.__on_up_arrow_clicked)
navigation_box.add(self.up_arrow_button)
(途中省略)
def __on_up_arrow_clicked(self, button):
"""
Handles Up Arrow clicked navigation event, go backward
:param button:
"""
if viewer.Viewer.can_go_back():
viewer.Viewer.go_back()
とすると、
WebKit.WebView.can_go_back() takes exactly 1 argument (0 given)
というエラーがでてしまいます。
(viewer.Viewerはwebkitを継承したものです)
どなたかお知恵をお貸し願えたら幸いです。
こちらのgitで公開されているLinux用epubビューアを改造して使いやすくしようと思っているのですが、
行き詰まってしまいました。
ブラウザの戻るボタンのようにリンク先(引用元など)に飛んだ後、直前に戻るボタンを実装したいのですが
(ボタンはgtk3の都合上up arrowボタンを使っています)
改造したのはheader_bar.pyでして、
def __populate_headerbar(self):
(途中省略)
# Adds up arrow chapter navigation button
self.up_arrow_button = Gtk.Button()
self.up_arrow_button.add(Gtk.Arrow(Gtk.ArrowType.UP, Gtk.ShadowType.NONE))
self.up_arrow_button.set_sensitive(False);
self.up_arrow_button.connect("clicked", self.__on_up_arrow_clicked)
navigation_box.add(self.up_arrow_button)
(途中省略)
def __on_up_arrow_clicked(self, button):
"""
Handles Up Arrow clicked navigation event, go backward
:param button:
"""
if viewer.Viewer.can_go_back():
viewer.Viewer.go_back()
とすると、
WebKit.WebView.can_go_back() takes exactly 1 argument (0 given)
というエラーがでてしまいます。
(viewer.Viewerはwebkitを継承したものです)
どなたかお知恵をお貸し願えたら幸いです。
494デフォルトの名無しさん
2018/10/20(土) 14:07:46.36ID:u8BRF3D8495デフォルトの名無しさん
2018/10/20(土) 14:24:18.46ID:n6bj2eyU >>493
インスタンスメソッドをクラスメソッドみたいにして読んでるから、第一引数として暗黙的に渡されるはずだったselfが足りないって怒られてる。
ソースを斜め読みするとViewerのインスタンスはインスタンス構造上の親であるMainWindowが持っているようなので、
self.__window.viewer.can_go_back()でアクセスできるんじゃないかな
インスタンスメソッドをクラスメソッドみたいにして読んでるから、第一引数として暗黙的に渡されるはずだったselfが足りないって怒られてる。
ソースを斜め読みするとViewerのインスタンスはインスタンス構造上の親であるMainWindowが持っているようなので、
self.__window.viewer.can_go_back()でアクセスできるんじゃないかな
496493
2018/10/20(土) 15:04:15.12ID:aYMp4dZA >>495
if self.__window.viewer.can_go_back():
self.__window.viewer.go_back()
と書いてやってみたらエラーメッセージはでませんでしたが画面が真っ白になってしまいました。
とはいえ、当初のエラーは解消したので大きな進歩です。どうもありがとうございました。
後は勉強がてら自分でやってみます。
if self.__window.viewer.can_go_back():
self.__window.viewer.go_back()
と書いてやってみたらエラーメッセージはでませんでしたが画面が真っ白になってしまいました。
とはいえ、当初のエラーは解消したので大きな進歩です。どうもありがとうございました。
後は勉強がてら自分でやってみます。
497デフォルトの名無しさん
2018/10/20(土) 15:04:58.12ID:aYMp4dZA >>494
さんもレスありがとうございました。
さんもレスありがとうございました。
498デフォルトの名無しさん
2018/10/20(土) 18:30:22.23ID:V2vR4ZZl499デフォルトの名無しさん
2018/10/20(土) 18:31:25.93ID:V2vR4ZZl >>490
from codecs import open as codecsopen
とかやって、
codecsまるごとじゃなくcodecs.openだけ読むようにすればちょっとははやくできる
ちょっとは。
from codecs import open as codecsopen
とかやって、
codecsまるごとじゃなくcodecs.openだけ読むようにすればちょっとははやくできる
ちょっとは。
500デフォルトの名無しさん
2018/10/22(月) 23:03:44.42ID:bT6j7LGV 素人質問で申し訳ないのですが助けていただきたく質問します。
いま「みんなのPython」をやりはじめたのですが
Anacondaがうまくできません
最初に普通?のPythonをインストールして
そのあとにPythonをアンインストールしたあと
Anacondaをインストールしました。
そして「ファイル名を指定して実行」で「python.exe」と入力しても
「'python.exe'が見つかりません」となってしまいます。
Windows PowerShellで「>python」と入力しても
「用語 'python' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません」
となってしまいます。
Anacondaのインストールでは
「Add Anaconda to my PATH environment variable」にはチェックは入れてません
「Register Anaconda as my default Python 3.6」にはチェックを入れました。
いま「みんなのPython」をやりはじめたのですが
Anacondaがうまくできません
最初に普通?のPythonをインストールして
そのあとにPythonをアンインストールしたあと
Anacondaをインストールしました。
そして「ファイル名を指定して実行」で「python.exe」と入力しても
「'python.exe'が見つかりません」となってしまいます。
Windows PowerShellで「>python」と入力しても
「用語 'python' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません」
となってしまいます。
Anacondaのインストールでは
「Add Anaconda to my PATH environment variable」にはチェックは入れてません
「Register Anaconda as my default Python 3.6」にはチェックを入れました。
501デフォルトの名無しさん
2018/10/22(月) 23:37:57.82ID:aY20u7RH 英語よめや。
502デフォルトの名無しさん
2018/10/22(月) 23:54:05.62ID:bT6j7LGV >>501
環境変数PATHを設定する | Pythonインストールと環境設定
https://www.javadrive.jp/python/install/index3.html
このサイトに書いてあるようにやったらできたんですけど
これでいいんですか?
環境変数PATHを設定する | Pythonインストールと環境設定
https://www.javadrive.jp/python/install/index3.html
このサイトに書いてあるようにやったらできたんですけど
これでいいんですか?
503デフォルトの名無しさん
2018/10/23(火) 01:14:29.19ID:uxH9lXGD カレントフォルダからは「相対パス/python.exe」で実行できる。
カレントフォルダ以外からも実行したいのなら「絶対パス/python.exe」で実行できる
カレントフォルダ以外からも「python」というコマンドで実行したいのなら、
「python.exe」のあるフォルダを、ユーザー環境変数PATH に登録しないといけない
例えば、コマンドプロンプトで、以下のように入力すると、
where notepad
where python
そのコマンドの実行ファイルのある、場所を表示できる
カレントフォルダ以外からも実行したいのなら「絶対パス/python.exe」で実行できる
カレントフォルダ以外からも「python」というコマンドで実行したいのなら、
「python.exe」のあるフォルダを、ユーザー環境変数PATH に登録しないといけない
例えば、コマンドプロンプトで、以下のように入力すると、
where notepad
where python
そのコマンドの実行ファイルのある、場所を表示できる
504デフォルトの名無しさん
2018/10/23(火) 06:47:31.22ID:EmL9QD5v はじめまして ラズパイでpythonを利用してます。
Python3 ide?でファイルを実行するとmoduleエラーが起きるんですけど、lxterminalで実行したりcronで実行するとエラーはでないで実行できます。
実行できるので問題ないのですが、なんでpython3 ideで実行するとmoduleエラーになるのかが気になります
詳しい方 お気づきがあれば教えてください
Python3 ide?でファイルを実行するとmoduleエラーが起きるんですけど、lxterminalで実行したりcronで実行するとエラーはでないで実行できます。
実行できるので問題ないのですが、なんでpython3 ideで実行するとmoduleエラーになるのかが気になります
詳しい方 お気づきがあれば教えてください
505デフォルトの名無しさん
2018/10/23(火) 07:07:12.22ID:EmL9QD5v 追加ですが温度センサー使ってます。githubからすべて入手したものです。
ググってもなぜかエラー出るよみたいなことが書かれていて原因は不明だったのでお聞きしました。
ググってもなぜかエラー出るよみたいなことが書かれていて原因は不明だったのでお聞きしました。
506デフォルトの名無しさん
2018/10/23(火) 10:24:36.04ID:d2CNB2CT Python3でのsqlalchemyについて教えてください
https://ideone.com/tVSjwB
56行目のsession.commit()でエラーになってしまいます。
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) CHECK constraint failed: winners
[SQL: 'INSERT INTO winners (name, category, year, nationality, sex) VALUES (?, ?, ?, ?, ?)']
[parameters: ('Marie Curie', 'Chemistry', 1911, 'Polish', 'Female')] (Background on this error at: http://sqlalche.me/e/gkpj)
こんな風に書かれてあります。(長いのでここに書くときに改行しました)
何がいけないのでしょうか?
https://ideone.com/tVSjwB
56行目のsession.commit()でエラーになってしまいます。
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) CHECK constraint failed: winners
[SQL: 'INSERT INTO winners (name, category, year, nationality, sex) VALUES (?, ?, ?, ?, ?)']
[parameters: ('Marie Curie', 'Chemistry', 1911, 'Polish', 'Female')] (Background on this error at: http://sqlalche.me/e/gkpj)
こんな風に書かれてあります。(長いのでここに書くときに改行しました)
何がいけないのでしょうか?
507デフォルトの名無しさん
2018/10/23(火) 10:29:07.79ID:ki4w8hD+ >>504
同じPythonを実行してる?(公式の純正PythonとAnacondaとか)
同じPythonを実行してる?(公式の純正PythonとAnacondaとか)
508デフォルトの名無しさん
2018/10/23(火) 10:35:04.61ID:ki4w8hD+ >>506
yearはStringじゃなくてIntegerじゃ…?
yearはStringじゃなくてIntegerじゃ…?
509デフォルトの名無しさん
2018/10/23(火) 10:40:12.34ID:d2CNB2CT510デフォルトの名無しさん
2018/10/23(火) 10:45:40.79ID:d2CNB2CT511デフォルトの名無しさん
2018/10/23(火) 10:48:34.83ID:ki4w8hD+ >>510
その方がpep8に則ると正しいね
その方がpep8に則ると正しいね
512デフォルトの名無しさん
2018/10/23(火) 10:56:47.49ID:zGwQ/J/L >>511
どうもありがとうございました
どうもありがとうございました
513デフォルトの名無しさん
2018/10/23(火) 11:09:52.98ID:zGwQ/J/L 連投すみません
SQLAlchemyでのデータベースへのアクセスについてですが、filterとfilter_byってどう使い分けするんでしょうか?
違いが分からないです
# スイス人受賞者の取得
# filter_by の場合
result = session.query(Winner).filter_by(nationality='Swiss')
# filter の場合
result = session.query(Winner).filter(Winner.nationality == 'Swiss')
print(list(result))
SQLAlchemyでのデータベースへのアクセスについてですが、filterとfilter_byってどう使い分けするんでしょうか?
違いが分からないです
# スイス人受賞者の取得
# filter_by の場合
result = session.query(Winner).filter_by(nationality='Swiss')
# filter の場合
result = session.query(Winner).filter(Winner.nationality == 'Swiss')
print(list(result))
514デフォルトの名無しさん
2018/10/23(火) 11:13:00.78ID:aeA+1VC2 gtk3とpythonのpygobjectで質問があります。
https://stackoverflow.com/questions/41696515/webkit2gtk-webview-touchscreen-scrolling
こちらの質問にあるとおり、webkit2gtkを使うとlibwebkit1-3.0の時のようなタッチスクリーンによる
スクロールができなくなってしまうのですが、何とかタッチによるスクロール(パンというようですが)
をしたいのです。こちらの質問者の方はコールバック関数にスクロールイベントを書いたらできたと
書いてありましたが、具体的にはどのように記述すれば良いのでしょうか?
https://lazka.github.io/pgi-docs/
こちらのpygobjectのAPIを見てもよくわかりませんでした。どうかよろしくお願いします。
https://stackoverflow.com/questions/41696515/webkit2gtk-webview-touchscreen-scrolling
こちらの質問にあるとおり、webkit2gtkを使うとlibwebkit1-3.0の時のようなタッチスクリーンによる
スクロールができなくなってしまうのですが、何とかタッチによるスクロール(パンというようですが)
をしたいのです。こちらの質問者の方はコールバック関数にスクロールイベントを書いたらできたと
書いてありましたが、具体的にはどのように記述すれば良いのでしょうか?
https://lazka.github.io/pgi-docs/
こちらのpygobjectのAPIを見てもよくわかりませんでした。どうかよろしくお願いします。
515デフォルトの名無しさん
2018/10/23(火) 11:16:03.36ID:zGwQ/J/L >>513ですけど、
ふた通りの書き方があるよ、Pythonらしく、より簡単に書く方法はfilter_byの方だよって事ですかね?
ふた通りの書き方があるよ、Pythonらしく、より簡単に書く方法はfilter_byの方だよって事ですかね?
516デフォルトの名無しさん
2018/10/23(火) 12:43:50.18ID:EmL9QD5v517デフォルトの名無しさん
2018/10/23(火) 13:18:18.96ID:ki4w8hD+518デフォルトの名無しさん
2018/10/23(火) 13:20:20.07ID:ki4w8hD+ >>516
バージョンも同じなら、理由はわからんなぁ…
バージョンも同じなら、理由はわからんなぁ…
519デフォルトの名無しさん
2018/10/23(火) 17:07:59.89ID:J7zWeAP4 みんなやさしいな
520デフォルトの名無しさん
2018/10/23(火) 18:06:12.08ID:Afmb5nM2 別のフォルダに入った同名ファイルをjoblibのParallelで処理するために以下のようなコードを書いたところ1番目のフォルダの結果が常に出てきてしまうんだけど原因分かる?
・環境
Python: 3.7.0
joblib: 0.12.5
Jupyter Notebook上で実行
・ファイル
C:\a\a.txt -> 「1」とだけ半角で書かれたテキストファイル
C:\b\a.txt -> 「2」とだけ半角で書かれたテキストファイル
・コード
import numpy as np
from joblib import Parallel, delayed
# 実際はもっと大容量のファイルに対して重い処理を行う
def read_file():
return np.loadtxt("a.txt")
os.chdir(r"C:\a")
result1 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
os.chdir(r"C:\b")
result2 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
# 空のフォルダcに移動する
os.chdir(r"C:\c")
result3 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
print(result1) # 出力 : [array(1.)]
print(result2) # 出力 : [array(1.)]・・・[array(2.)]が出力されないのはなぜ?
print(result3) # 出力 : [array(1.)]
・環境
Python: 3.7.0
joblib: 0.12.5
Jupyter Notebook上で実行
・ファイル
C:\a\a.txt -> 「1」とだけ半角で書かれたテキストファイル
C:\b\a.txt -> 「2」とだけ半角で書かれたテキストファイル
・コード
import numpy as np
from joblib import Parallel, delayed
# 実際はもっと大容量のファイルに対して重い処理を行う
def read_file():
return np.loadtxt("a.txt")
os.chdir(r"C:\a")
result1 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
os.chdir(r"C:\b")
result2 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
# 空のフォルダcに移動する
os.chdir(r"C:\c")
result3 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
print(result1) # 出力 : [array(1.)]
print(result2) # 出力 : [array(1.)]・・・[array(2.)]が出力されないのはなぜ?
print(result3) # 出力 : [array(1.)]
521デフォルトの名無しさん
2018/10/23(火) 22:14:21.56ID:86mV9f+c ファイルの数を返すメソッドはありますか?
例えばsrcの下にディレクトリaとbがあって
それぞれのディレクトリにa1.txt〜a100.txt、b1.txt〜b100.txtとファイルがあった時に
200と返してくれるメソッドはありますか?
defで関数とか作らず1行で済む方法を探しています。
例えばsrcの下にディレクトリaとbがあって
それぞれのディレクトリにa1.txt〜a100.txt、b1.txt〜b100.txtとファイルがあった時に
200と返してくれるメソッドはありますか?
defで関数とか作らず1行で済む方法を探しています。
522デフォルトの名無しさん
2018/10/23(火) 22:22:44.49ID:zYWUn764 len(os.lisdir(ディレクトリのpath))
523デフォルトの名無しさん
2018/10/23(火) 22:36:02.00ID:BDP8ufz9 いまやってみたらそのコードでは2が帰って来ました
aとbの2つのディレクトリがあるから2なのですかね?
欲しいのはそのまた下にあるファイルの数でした
aとbの2つのディレクトリがあるから2なのですかね?
欲しいのはそのまた下にあるファイルの数でした
524デフォルトの名無しさん
2018/10/23(火) 22:46:04.08ID:oFF/C26V Pythonは詳しく無いけど、そう言うは再帰でディレクトリが無い最下層まで潜るコードってよく見るね。
525デフォルトの名無しさん
2018/10/23(火) 23:35:56.37ID:EZC/vVVW526デフォルトの名無しさん
2018/10/23(火) 23:36:52.55ID:EZC/vVVW src/**/* だったわ
527デフォルトの名無しさん
2018/10/23(火) 23:53:26.39ID:BmpWcPqj >>521
sum([len(files) for root, dirs, files in os.walk("src")])
sum([len(files) for root, dirs, files in os.walk("src")])
528デフォルトの名無しさん
2018/10/24(水) 00:12:08.40ID:2LYWqLo0529デフォルトの名無しさん
2018/10/24(水) 00:33:01.65ID:2LYWqLo0530デフォルトの名無しさん
2018/10/24(水) 00:58:29.86ID:2LYWqLo0 >>514
「gtk webkitwebview」で検索!
「gtk webkitwebview」で検索!
531デフォルトの名無しさん
2018/10/24(水) 15:19:12.25ID:B3/hQHxI 521,523です
教えていただいたのをやってみました。
525さんの方法は、フォルダーの数が含まれていました。結果は202が返りました。
527さんの方法は、ちょうど200が返りました。
529さんの方法は、windowsなので出来ませんでした。
これにて問題は解決しました。皆さまありがとうございます。
教えていただいたのをやってみました。
525さんの方法は、フォルダーの数が含まれていました。結果は202が返りました。
527さんの方法は、ちょうど200が返りました。
529さんの方法は、windowsなので出来ませんでした。
これにて問題は解決しました。皆さまありがとうございます。
532514
2018/10/24(水) 17:55:05.58ID:Vc8wznQf https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html
>Note that WebKitWebView is scrollable by itself, so you don't need to embed it in a GtkScrolledWindow.
って書いてありました。スクロールをGtkで担当していないから、他のgtk3アプリのようにタッチでスクロールできないようです。でも、だったらなんで>>514のリンク先の人はGTK.gestureでできたんだろう・・・
>Note that WebKitWebView is scrollable by itself, so you don't need to embed it in a GtkScrolledWindow.
って書いてありました。スクロールをGtkで担当していないから、他のgtk3アプリのようにタッチでスクロールできないようです。でも、だったらなんで>>514のリンク先の人はGTK.gestureでできたんだろう・・・
533デフォルトの名無しさん
2018/10/24(水) 18:10:34.94ID:95IsyUjL >なんといっても、800g弱とは思えない軽さと、
薄型コンパクトな筐体はタブレットと同様に、
「出番はないかもしれないけど常時携行しても良い」レベルです。
いざ使おうとすると windows update が始まって再起動…何時間も待たされる…鞄にしまう。
↓
放置
↓
「出番はないかもしれないけど常時携行しても良い」
↓
また持ち出す
↓
いざ使おうとすると windows update が始まって再起動…何時間も待たされる…鞄にしまう。
↓
放置
薄型コンパクトな筐体はタブレットと同様に、
「出番はないかもしれないけど常時携行しても良い」レベルです。
いざ使おうとすると windows update が始まって再起動…何時間も待たされる…鞄にしまう。
↓
放置
↓
「出番はないかもしれないけど常時携行しても良い」
↓
また持ち出す
↓
いざ使おうとすると windows update が始まって再起動…何時間も待たされる…鞄にしまう。
↓
放置
534デフォルトの名無しさん
2018/10/24(水) 18:40:13.35ID:IR3xnlxd リストにn個の要素があります。
このリストの要素から2個をランダムに選んだペアをm組作りたいです。
ただしペアを重複しないようにしたいのですが、
どうすれば実装できるでしょうか。もしくはライブラリがありますか?
いくら考えてもペアが重複してしまいます。(特に(a,b)と(b,a)のようなペアが出来てしまいます)
n=[1, 2, ... n]
m=3
new_n=f(n, m)
new_n
=[(1,8), (45,n), (n-2, 20)]
みたいになるfを探しています。
このリストの要素から2個をランダムに選んだペアをm組作りたいです。
ただしペアを重複しないようにしたいのですが、
どうすれば実装できるでしょうか。もしくはライブラリがありますか?
いくら考えてもペアが重複してしまいます。(特に(a,b)と(b,a)のようなペアが出来てしまいます)
n=[1, 2, ... n]
m=3
new_n=f(n, m)
new_n
=[(1,8), (45,n), (n-2, 20)]
みたいになるfを探しています。
535デフォルトの名無しさん
2018/10/24(水) 18:54:46.79ID:Uqd3UckS >>534
itertools
itertools
536デフォルトの名無しさん
2018/10/24(水) 18:57:07.94ID:K3Hn81Y7 リストの中身をシャッフル→前から二つずつ取得
537デフォルトの名無しさん
2018/10/24(水) 18:57:08.14ID:Uqd3UckS538デフォルトの名無しさん
2018/10/24(水) 19:10:02.77ID:TphPHDjb scrapyとXParhについて教えてください
https://ideone.com/af79WT
うまく動いてくれないです。
67行目からの関数が間違えてると思うんですが、77行目のp_templateはどう書くのが正しいんでしょうか?
9行目は
# https://github.com/Kyrand/dataviz-with-python-and-js
17行目は
BASE_URL = 'http://en.wikipedia.org'
40行目は
start_urls = ["https://en.wikipedia.org/wiki/List_of_Nobel_laureates_by_country"]
80行目は
# https://www.wikidata.org/wiki/Q155525
です。
https://ideone.com/af79WT
うまく動いてくれないです。
67行目からの関数が間違えてると思うんですが、77行目のp_templateはどう書くのが正しいんでしょうか?
9行目は
# https://github.com/Kyrand/dataviz-with-python-and-js
17行目は
BASE_URL = 'http://en.wikipedia.org'
40行目は
start_urls = ["https://en.wikipedia.org/wiki/List_of_Nobel_laureates_by_country"]
80行目は
# https://www.wikidata.org/wiki/Q155525
です。
539デフォルトの名無しさん
2018/10/24(水) 19:14:14.74ID:IR3xnlxd540デフォルトの名無しさん
2018/10/24(水) 19:14:37.21ID:/bxb9sB2 >>534
itertoolsとrandom.sampleを組み合わせる
import itertools, random
def pair(n, m):
combi = list(itertools.combinations(n, m))
return random.sample(combi, m)
itertoolsとrandom.sampleを組み合わせる
import itertools, random
def pair(n, m):
combi = list(itertools.combinations(n, m))
return random.sample(combi, m)
541デフォルトの名無しさん
2018/10/24(水) 19:51:07.40ID:8aeYqShI >>506
これ、モジュールを入れてますが、ideoneで外部モジュールってどうやって使うんです?
これ、モジュールを入れてますが、ideoneで外部モジュールってどうやって使うんです?
542デフォルトの名無しさん
2018/10/24(水) 20:02:29.89ID:Uqd3UckS543デフォルトの名無しさん
2018/10/24(水) 20:03:01.03ID:Uqd3UckS544デフォルトの名無しさん
2018/10/24(水) 20:26:18.89ID:Uqd3UckS >>538
大抵は日付Gregorianで書いてあるとおもうから
文字列Gregorianの 前の文字列を探したらよさげなんだが
80行目のアドレスにアクセスして見てみた
Xpathがもはや538が書いたソースと違っつる
(/html/body/pre/span[1577] ってなってて divに1ツも入ってないYO)ので
具体的にどうとは書けない
大抵は日付Gregorianで書いてあるとおもうから
文字列Gregorianの 前の文字列を探したらよさげなんだが
80行目のアドレスにアクセスして見てみた
Xpathがもはや538が書いたソースと違っつる
(/html/body/pre/span[1577] ってなってて divに1ツも入ってないYO)ので
具体的にどうとは書けない
545デフォルトの名無しさん
2018/10/24(水) 23:59:09.70ID:2LYWqLo0 wikipedia みたいに、しょっちゅう構成が変化するものを、
XPath みたいに順番で指定するものは、動かない
div[2]/div[1]/div/div[2]/div[2]/div[1]
「div の3つ目の、div の2つ目の...」
CSS セレクターみたいに、id, class などの意味で指定する方が、構成の変化に強い。
まだマシ
HTML を解析して、id, class などで限定していくのが基本
XPath みたいに順番で指定するものは、動かない
div[2]/div[1]/div/div[2]/div[2]/div[1]
「div の3つ目の、div の2つ目の...」
CSS セレクターみたいに、id, class などの意味で指定する方が、構成の変化に強い。
まだマシ
HTML を解析して、id, class などで限定していくのが基本
546デフォルトの名無しさん
2018/10/25(木) 01:12:10.66ID:33Q6k0An 今日突然プログラミングに興味を持ちとりあえずpythonをインストールした初心者です。
連番を作成するとき range(10)と打ち込んでも結果がrange(0,10)になってしまいます
解説サイトを見ると9まで表示されるらしいのですが、なぜrange(0,10)になってしまうのでしょうか?
バージョンは3.7.1です
連番を作成するとき range(10)と打ち込んでも結果がrange(0,10)になってしまいます
解説サイトを見ると9まで表示されるらしいのですが、なぜrange(0,10)になってしまうのでしょうか?
バージョンは3.7.1です
547デフォルトの名無しさん
2018/10/25(木) 02:20:57.87ID:NT+vxu3F548デフォルトの名無しさん
2018/10/25(木) 02:27:15.39ID:ZE3NVml1 Ruby の範囲は、 終端を含む、.. と、含まない ... がある
0..3 → 0〜3
0...3 → 0〜2
python では、終端を含まないのかな?
推測だけど、range(10)と引数が1つの場合は、終端のみが指定されたとみなすのだろう。
その場合、始端は0 が指定されたのと同じ
つまり、range(0,10)と同じ
0..3 → 0〜3
0...3 → 0〜2
python では、終端を含まないのかな?
推測だけど、range(10)と引数が1つの場合は、終端のみが指定されたとみなすのだろう。
その場合、始端は0 が指定されたのと同じ
つまり、range(0,10)と同じ
549デフォルトの名無しさん
2018/10/25(木) 07:58:15.11ID:ANca8D/1 >>544
538を書いたのは昨日だけど、今試しても80行目のアドレスのdate of birthのXPathは
//*[@id="P569"]/div[1]/div/a
8 October 1927の部分のXPathは
//*[@id="q155525$82312275-D23F-4048-A710-6EC6AB12C2C2"]/div[2]/div[1]/div/div[2]/div[2]/div[1]
でしたよ
>>544
>>545
583のスクリプトだと誕生日、死亡日、出生地、死亡地、性別を77行目の天ぷらで取得するようになってるけれど、もう天ぷらを改変して使うことも無理だから、項目一つ一つそれぞれ取得しないといけないって事ですか?
538を書いたのは昨日だけど、今試しても80行目のアドレスのdate of birthのXPathは
//*[@id="P569"]/div[1]/div/a
8 October 1927の部分のXPathは
//*[@id="q155525$82312275-D23F-4048-A710-6EC6AB12C2C2"]/div[2]/div[1]/div/div[2]/div[2]/div[1]
でしたよ
>>544
>>545
583のスクリプトだと誕生日、死亡日、出生地、死亡地、性別を77行目の天ぷらで取得するようになってるけれど、もう天ぷらを改変して使うことも無理だから、項目一つ一つそれぞれ取得しないといけないって事ですか?
550デフォルトの名無しさん
2018/10/25(木) 08:09:34.19ID:ANca8D/1 https://www.wikidata.org/wiki/Q155525
この表の左側(date of birthとかplace of birth)のdiv classは
wikibase-statementgroupview-property-label
表示の真ん中の8 October 1927や、Bahía Blancaのdiv classは
wikibase-snakview-value wikibase-snakview-variation-valuesnak
のようでした。
これらを使って >>583 に当てはめる事できますか?
この表の左側(date of birthとかplace of birth)のdiv classは
wikibase-statementgroupview-property-label
表示の真ん中の8 October 1927や、Bahía Blancaのdiv classは
wikibase-snakview-value wikibase-snakview-variation-valuesnak
のようでした。
これらを使って >>583 に当てはめる事できますか?
551545
2018/10/25(木) 08:57:54.49ID:ZE3NVml1 例えば、Ruby で、5ch の書き込み内のa タグを、XPath で指定するのは、こういう感じ
# a を含む、post_node だけを抜き出す。descendant は子孫、ancestor は祖先
# div.thread > div.post > div.message > span > a
post_nodes = doc.xpath "//div[@class='thread']/div[@class='post']/div[@class='message']/descendant::a/ancestor::div[@class='post']"
/div[2]/div[1]/div/div[2]/div[2]/div[1]
こういう、1, 2 などの順番では指定しない
順番で指定すると、サーバー側で、HTML ページを作る時に、順番が変わるかもしれない
普通はXPathではなく、以下のような、CSS セレクターで指定する。
div.thread > div.post > div.message > span > a
thread クラスが付いた、div 要素の直下の、
post クラスが付いた、div 要素の直下の、
message クラスが付いた、div 要素の直下の、
span 要素の直下の、a 要素
ブラウザのF12 開発者ツールを起動して、自分でHTMLを解析する
# a を含む、post_node だけを抜き出す。descendant は子孫、ancestor は祖先
# div.thread > div.post > div.message > span > a
post_nodes = doc.xpath "//div[@class='thread']/div[@class='post']/div[@class='message']/descendant::a/ancestor::div[@class='post']"
/div[2]/div[1]/div/div[2]/div[2]/div[1]
こういう、1, 2 などの順番では指定しない
順番で指定すると、サーバー側で、HTML ページを作る時に、順番が変わるかもしれない
普通はXPathではなく、以下のような、CSS セレクターで指定する。
div.thread > div.post > div.message > span > a
thread クラスが付いた、div 要素の直下の、
post クラスが付いた、div 要素の直下の、
message クラスが付いた、div 要素の直下の、
span 要素の直下の、a 要素
ブラウザのF12 開発者ツールを起動して、自分でHTMLを解析する
552545
2018/10/25(木) 09:17:05.90ID:ZE3NVml1 Chrome で、自分が解析したい要素上で、右クリックメニューで検証を押すと、F12 開発者ツールが起動する
表示されたHTML 上で、右クリックメニューでCopy の所から、
XPath, selector(CSS selector)をコピーできる
例えば、このスレの書き込み内のa タグを、検証してみると、
XPath, CSS selectorは、
//*[@id="550"]/div[2]/span/a[2]
550 > div.message > span > a.reply_link
id が550 の要素の直下の、
message クラスが付いた、div 要素の直下の、
span 要素の直下の、
reply_link クラスが付いた、a 要素
ただし、id は550など、先頭文字が数字では始められないから、これは間違い。
5ch の開発者が間違っている。バグ
表示されたHTML 上で、右クリックメニューでCopy の所から、
XPath, selector(CSS selector)をコピーできる
例えば、このスレの書き込み内のa タグを、検証してみると、
XPath, CSS selectorは、
//*[@id="550"]/div[2]/span/a[2]
550 > div.message > span > a.reply_link
id が550 の要素の直下の、
message クラスが付いた、div 要素の直下の、
span 要素の直下の、
reply_link クラスが付いた、a 要素
ただし、id は550など、先頭文字が数字では始められないから、これは間違い。
5ch の開発者が間違っている。バグ
553545
2018/10/25(木) 09:39:35.73ID:ZE3NVml1 date of birth の、XPath, CSS selectorは、
//*[@id="P569"]/div[1]
#P569 > div.wikibase-statementgroupview-property
id がP569 の要素の直下の、
wikibase-statementgroupview-property クラスが付いた、div 要素
このCSS セレクターで要素を取得して、それが1つだけかどうか確認しないといけない。
このHTML の製作者は、このクラスを複数のタグに付けているかもしれない
このように、他人が作ったHTMLを、解析していくのが難しい。
その仕様は、その製作者が決めたもので、我々が知らないものだから、
隠された情報を暴くのに、時間を食うから、非常に無駄!
仕事以外で、他人の仕様を解析するのは辞めた方がよい。
製作者は答えを知っているけど、我々は答えを知らないから、時間ばかり食う!
//*[@id="P569"]/div[1]
#P569 > div.wikibase-statementgroupview-property
id がP569 の要素の直下の、
wikibase-statementgroupview-property クラスが付いた、div 要素
このCSS セレクターで要素を取得して、それが1つだけかどうか確認しないといけない。
このHTML の製作者は、このクラスを複数のタグに付けているかもしれない
このように、他人が作ったHTMLを、解析していくのが難しい。
その仕様は、その製作者が決めたもので、我々が知らないものだから、
隠された情報を暴くのに、時間を食うから、非常に無駄!
仕事以外で、他人の仕様を解析するのは辞めた方がよい。
製作者は答えを知っているけど、我々は答えを知らないから、時間ばかり食う!
554デフォルトの名無しさん
2018/10/25(木) 09:43:11.50ID:wiUcTcgZ たまにはいいこと言うじゃねえか
555デフォルトの名無しさん
2018/10/25(木) 10:14:40.95ID:yIJtoQcC 今は1階層深くなっているようだ
//*[@id="{code}"]/div[2]/div/div/div[2]/div[1]/div/div[2]/div[2]/div[1]{link_html}/text()
//*[@id="{code}"]/div[2]/div/div/div[2]/div[1]/div/div[2]/div[2]/div[1]{link_html}/text()
556デフォルトの名無しさん
2018/10/25(木) 10:21:59.94ID:Rw/1mEHp >>553
なるほど
まだ途中までしか読んでないけどおそらく本の内容はこんな感じ
1
ウィキペディアにある現在までのノーベル賞受賞者の全員の一覧からウィキデータにある各人のパーソナル情報とウィキペディアの各人の概略と人物写真をScrapyでスクレイピング
2
そのデータをPandasとMatplotlibでクリーニング、分析
3
そのデータをFlaskを使って配信
4
そのデータをJavascriptのD3.jsで可視化
4の可視化に興味があって読み始めた感じ。けどせっかくなので1から読んでScrapyも学んでみようかと。
でも、他人が作ったサイト(ウィキペディア)で悩むよりもAPIなどで簡単に取得出来るような別のデータを使って2に進んだ方がよいですか?
(幸い、本の著作のGithubは数年前にすでにスクレイピングしたデータが置いてありました。数年前なのでもちろん今年の本庶さんは含まれてないですけどね。)
なるほど
まだ途中までしか読んでないけどおそらく本の内容はこんな感じ
1
ウィキペディアにある現在までのノーベル賞受賞者の全員の一覧からウィキデータにある各人のパーソナル情報とウィキペディアの各人の概略と人物写真をScrapyでスクレイピング
2
そのデータをPandasとMatplotlibでクリーニング、分析
3
そのデータをFlaskを使って配信
4
そのデータをJavascriptのD3.jsで可視化
4の可視化に興味があって読み始めた感じ。けどせっかくなので1から読んでScrapyも学んでみようかと。
でも、他人が作ったサイト(ウィキペディア)で悩むよりもAPIなどで簡単に取得出来るような別のデータを使って2に進んだ方がよいですか?
(幸い、本の著作のGithubは数年前にすでにスクレイピングしたデータが置いてありました。数年前なのでもちろん今年の本庶さんは含まれてないですけどね。)
557デフォルトの名無しさん
2018/10/25(木) 10:22:45.04ID:Rw/1mEHp558デフォルトの名無しさん
2018/10/25(木) 10:43:07.24ID:Rw/1mEHp https://i.imgur.com/I9jF1Rl.jpg
date of birthのところでコピーしたXPath
//*[@id="P569"]/div[1]/div/a
https://i.imgur.com/b4m9Pop.jpg
その日付けのところでコピーしたXPath
//*[@id="q155525$82312275-D23F-4048-A710-6EC6AB12C2C2"]/div[2]/div[1]/div/div[2]/div[2]/div[1]
2枚目の画像の部分を選ぶんだと思っていたんですけど、もしかして選ぶ場所間違えてますか?
date of birthのところでコピーしたXPath
//*[@id="P569"]/div[1]/div/a
https://i.imgur.com/b4m9Pop.jpg
その日付けのところでコピーしたXPath
//*[@id="q155525$82312275-D23F-4048-A710-6EC6AB12C2C2"]/div[2]/div[1]/div/div[2]/div[2]/div[1]
2枚目の画像の部分を選ぶんだと思っていたんですけど、もしかして選ぶ場所間違えてますか?
559545
2018/10/25(木) 11:01:29.24ID:ZE3NVml1560デフォルトの名無しさん
2018/10/25(木) 11:34:29.89ID:yIJtoQcC561545
2018/10/25(木) 12:03:03.26ID:ZE3NVml1 date of birth の、XPath, CSS selectorは、
//*[@id="P569"]/div[1]
#P569 > div.wikibase-statementgroupview-property
id がP569 の要素の直下の、
wikibase-statementgroupview-property クラスが付いた、div 要素
place of birth の、XPath, CSS selectorは、
//*[@id="P19"]/div[1]
#P19 > div.wikibase-statementgroupview-property
id がP19 の要素の直下の、
wikibase-statementgroupview-property クラスが付いた、div 要素
ここで、id のP569, P19 みたいなものは、別のHTML から取れるのか?
だったら、CSS セレクターで取れる
XPath なら、div[1] とか番号指定よりも、class 指定の方がよい。
//*[@id='P569']/div[@class='wikibase-statementgroupview-property']
//*[@id='P19']/div[@class='wikibase-statementgroupview-property']
//*[@id="P569"]/div[1]
#P569 > div.wikibase-statementgroupview-property
id がP569 の要素の直下の、
wikibase-statementgroupview-property クラスが付いた、div 要素
place of birth の、XPath, CSS selectorは、
//*[@id="P19"]/div[1]
#P19 > div.wikibase-statementgroupview-property
id がP19 の要素の直下の、
wikibase-statementgroupview-property クラスが付いた、div 要素
ここで、id のP569, P19 みたいなものは、別のHTML から取れるのか?
だったら、CSS セレクターで取れる
XPath なら、div[1] とか番号指定よりも、class 指定の方がよい。
//*[@id='P569']/div[@class='wikibase-statementgroupview-property']
//*[@id='P19']/div[@class='wikibase-statementgroupview-property']
562デフォルトの名無しさん
2018/10/25(木) 12:21:08.82ID:Rw/1mEHp >>560
出発地点ですか!
例えば「8 October 1927」という文字の上で右クリックして検証を選んで出てくる開発者ツールのElements欄を見てるんですが、もしかしてそこから間違えているとかですか?
> もうちょっとソースを読んで、どういう風にXPathをテンプレート化しているかを理解しよう
どういう事なのかさっぱり分からないです…
>>560
>>561
そういう知識はどこで身につけるんでしょうか?
おそらくこれはPythonとは直接関係ない部分なのでPythonの本でもそんなに詳しくは書いてないのかと思います。
これらはWeb開発の知識でしょうか?
ほんのちょっとだけどPythonは覚えたから大丈夫だけど、Webは分からないから暗号にしか見えず恐ろしいです。
なるべくWeb開発をしなくてもいいように(ほんとはWebは専門の人に任せようって)、Web開発の部分はなるべく最小限で済むようにして、みなさんがPythonとJavascriptのプログラミングに専念してシングルページアプリを作れるようにってのがこの本らしいけれど、
XPathやChromeのこのツールやdivとかクラスっていうものの知識ってどういうところ(本?サービス?言語?)で学ぶといいんでしょうか?結局はやはりWebの知識が必要になってくるんでしょうか?
途中、SVGでグラフィックを作る章の最初にHTMLとcssの基本的な事が書かれてありましたけれど。
出発地点ですか!
例えば「8 October 1927」という文字の上で右クリックして検証を選んで出てくる開発者ツールのElements欄を見てるんですが、もしかしてそこから間違えているとかですか?
> もうちょっとソースを読んで、どういう風にXPathをテンプレート化しているかを理解しよう
どういう事なのかさっぱり分からないです…
>>560
>>561
そういう知識はどこで身につけるんでしょうか?
おそらくこれはPythonとは直接関係ない部分なのでPythonの本でもそんなに詳しくは書いてないのかと思います。
これらはWeb開発の知識でしょうか?
ほんのちょっとだけどPythonは覚えたから大丈夫だけど、Webは分からないから暗号にしか見えず恐ろしいです。
なるべくWeb開発をしなくてもいいように(ほんとはWebは専門の人に任せようって)、Web開発の部分はなるべく最小限で済むようにして、みなさんがPythonとJavascriptのプログラミングに専念してシングルページアプリを作れるようにってのがこの本らしいけれど、
XPathやChromeのこのツールやdivとかクラスっていうものの知識ってどういうところ(本?サービス?言語?)で学ぶといいんでしょうか?結局はやはりWebの知識が必要になってくるんでしょうか?
途中、SVGでグラフィックを作る章の最初にHTMLとcssの基本的な事が書かれてありましたけれど。
563545
2018/10/25(木) 13:36:59.66ID:ZE3NVml1 先に、JavaScript, jQuery で、CSS セレクターを学ぶ。
CSS セレクターの方が読みやすい。
入門用サイトでも見て
HTML で、CSS デザイン用の属性、id, class などを付けるでしょ?
それを手掛かりにして、要素を取得する
XPath は後でよい。
入門用サイトを見る
CSS セレクターの方が読みやすい。
入門用サイトでも見て
HTML で、CSS デザイン用の属性、id, class などを付けるでしょ?
それを手掛かりにして、要素を取得する
XPath は後でよい。
入門用サイトを見る
564デフォルトの名無しさん
2018/10/25(木) 14:08:58.54ID:JjKr6ouj https://i.imgur.com/H3vQCNy.jpg
>危険なWeb開発地帯
自分もこの認識
恐ろしい
>>563
早く先に進みたいけれど、一旦Pythonは横に置いて、そういう学習してみます。
プログラミング言語としてのJavaScriptではなくWebで使うためのJavaScriptという位置付けで学ぶとcssなど理解できるようになるんですかね?
あと、JavaScriptのスキルを身に付けたいならフレームワーク(jQueryなど)の存在は完全に無視すべきとありました。
>危険なWeb開発地帯
自分もこの認識
恐ろしい
>>563
早く先に進みたいけれど、一旦Pythonは横に置いて、そういう学習してみます。
プログラミング言語としてのJavaScriptではなくWebで使うためのJavaScriptという位置付けで学ぶとcssなど理解できるようになるんですかね?
あと、JavaScriptのスキルを身に付けたいならフレームワーク(jQueryなど)の存在は完全に無視すべきとありました。
565デフォルトの名無しさん
2018/10/25(木) 14:10:23.63ID:f1dgb8e7 Python少し触っただけの初心者です。
インデント位置が変わるだけでプログラムのロジックの意味が
変わるのを知ってビックリしているのですが、
そんな言語を使ってまともなプログラムを書けるのですか?
インデント位置が変わるだけでプログラムのロジックの意味が
変わるのを知ってビックリしているのですが、
そんな言語を使ってまともなプログラムを書けるのですか?
566デフォルトの名無しさん
2018/10/25(木) 14:13:05.16ID:JjKr6ouj >>565
初心者ですけど、逆に分かりやすいと思いました。
初心者ですけど、逆に分かりやすいと思いました。
567545
2018/10/25(木) 14:20:16.10ID:ZE3NVml1 難しすぎるから、あきらめた方がよい。
他人が作った、HTML を解析しても、時間の無駄で、得るものがない!
本か入門用サイトで勉強した方が、体系的に勉強できて、余程よい
それと投稿時には、名前欄に、538 と書いてくれ
他人が作った、HTML を解析しても、時間の無駄で、得るものがない!
本か入門用サイトで勉強した方が、体系的に勉強できて、余程よい
それと投稿時には、名前欄に、538 と書いてくれ
568538
2018/10/25(木) 14:29:40.72ID:JjKr6ouj >>567
まさにこの本がPython学習者がデータの可視化に向けてJavaScriptを学ぶのにちょうどよい本だと思って手に取ったんですが…
まさにこの本がPython学習者がデータの可視化に向けてJavaScriptを学ぶのにちょうどよい本だと思って手に取ったんですが…
569デフォルトの名無しさん
2018/10/25(木) 15:37:48.62ID:5Cy/pQlU 最近裾野が広がって初学者が増えたのは良いが
FAQはどっかでまとまったの見ておくべき
FAQはどっかでまとまったの見ておくべき
570デフォルトの名無しさん
2018/10/25(木) 15:45:19.08ID:K87hu2sk >>565
同じ処理なら誰が書いても同じようなコードになる
同じ処理なら誰が書いても同じようなコードになる
571デフォルトの名無しさん
2018/10/25(木) 16:04:24.36ID:g7JlCOxC Python始めたての初学者です。
ファイルを読み込んで、バックアップをとってから、ファイルの一部を書き換えるというプログラムを書きました。
これをPython3.6.1環境のLinuxで実行すると、うまく動きましたが、2.7.5環境の別マシンでは、
TypeError: 'encoding' is an invalid keyword argument for this function
というエラーを吐き実行できませんでした。さらに、2.5.2環境の別マシンでは
AttributeError: 'str' object has no attribute 'format'
というエラーを吐き、実行できませんでした。
Python2と3では互換性がないということは存じ上げていますが、今回、3.6.1、2.7.5、2.5.2のすべての環境で動くものを作りたいです。
おそらくopenのencodingの部分と、datetimeの部分のformatの書き方がだめなんだと思いますが、
全バージョン対応の書き方をしようと思うとどういった形になるのでしょうか。
ちなみに、以下がコード全文です。
https://pastebin.com/F2UKiYtQ
ファイルを読み込んで、バックアップをとってから、ファイルの一部を書き換えるというプログラムを書きました。
これをPython3.6.1環境のLinuxで実行すると、うまく動きましたが、2.7.5環境の別マシンでは、
TypeError: 'encoding' is an invalid keyword argument for this function
というエラーを吐き実行できませんでした。さらに、2.5.2環境の別マシンでは
AttributeError: 'str' object has no attribute 'format'
というエラーを吐き、実行できませんでした。
Python2と3では互換性がないということは存じ上げていますが、今回、3.6.1、2.7.5、2.5.2のすべての環境で動くものを作りたいです。
おそらくopenのencodingの部分と、datetimeの部分のformatの書き方がだめなんだと思いますが、
全バージョン対応の書き方をしようと思うとどういった形になるのでしょうか。
ちなみに、以下がコード全文です。
https://pastebin.com/F2UKiYtQ
572デフォルトの名無しさん
2018/10/25(木) 16:27:15.45ID:5Cy/pQlU 無駄な抵抗はよせ
573デフォルトの名無しさん
2018/10/25(木) 17:20:42.65ID:YZYAqGHb >>562,564
Pythonは詳しく無いので恐縮ですが、
>プログラミング言語としてのJavaScriptではなくWebで使うためのJavaScriptという位置付けで学ぶとcssなど理解できるようになるんですかね?
CSS(スタイルシート)はWebページの見た目を制御するためのものです。
HTMLの要素ごとに、サイズ、背景、フォントの種類、レイアウトなどをCSSで指定する。
HTMLの要素は、タグ、属性、値で構成される。divはタグ、id, classは属性。
よって、CSSを覚えるには、HTML+CSSのセットで覚える必要がある。
今だったら、HTML5+CSS3
さらに、HTMLの要素を操作して表示を変化させるにはJavaScriptを使う。
ホスト側で処理が必要な場合は、CGI(GET,POST)などの知識も必要。
Webページ(HTML)の解析をするのであれば、HTML+CSSの知識は必須と思う。
Pythonは詳しく無いので恐縮ですが、
>プログラミング言語としてのJavaScriptではなくWebで使うためのJavaScriptという位置付けで学ぶとcssなど理解できるようになるんですかね?
CSS(スタイルシート)はWebページの見た目を制御するためのものです。
HTMLの要素ごとに、サイズ、背景、フォントの種類、レイアウトなどをCSSで指定する。
HTMLの要素は、タグ、属性、値で構成される。divはタグ、id, classは属性。
よって、CSSを覚えるには、HTML+CSSのセットで覚える必要がある。
今だったら、HTML5+CSS3
さらに、HTMLの要素を操作して表示を変化させるにはJavaScriptを使う。
ホスト側で処理が必要な場合は、CGI(GET,POST)などの知識も必要。
Webページ(HTML)の解析をするのであれば、HTML+CSSの知識は必須と思う。
574デフォルトの名無しさん
2018/10/25(木) 18:16:58.93ID:g7JlCOxC >>572
抵抗させてください
抵抗させてください
575デフォルトの名無しさん
2018/10/25(木) 19:39:32.30ID:Mzrh8O3p まず2.5の文法だけで2.5で動く奴を書け
576デフォルトの名無しさん
2018/10/25(木) 19:56:43.69ID:NF5xn3mp577デフォルトの名無しさん
2018/10/25(木) 20:10:31.29ID:NRPlmaaN578デフォルトの名無しさん
2018/10/25(木) 20:58:23.32ID:NT+vxu3F 無駄なあがきだと思うよ
import sys
if sys.version_info >= (3, 0):
def xopen(file, encoding):
return open(file, encoding=encoding)
else:
import codecs
def xopen(file, encoding):
return codecs.open(file, encoding=encoding)
import sys
if sys.version_info >= (3, 0):
def xopen(file, encoding):
return open(file, encoding=encoding)
else:
import codecs
def xopen(file, encoding):
return codecs.open(file, encoding=encoding)
579デフォルトの名無しさん
2018/10/25(木) 23:07:28.40ID:ZUq2YpeN 確かに文字列関係は労力が見合わないな
580デフォルトの名無しさん
2018/10/26(金) 01:52:17.86ID:etilwalQ >>578
ありがとうございます
いい感じに動いてるっぽいです
ちなみになんですが、
def xopen(file, encoding):
return open(file, encoding=encoding)
xopenという新たに定義した関数のencodingっていうパラメータが、open関数に渡る際に、encoding=encodingとなった右側のみに代入されるのがいまいち何故か分かりません
ありがとうございます
いい感じに動いてるっぽいです
ちなみになんですが、
def xopen(file, encoding):
return open(file, encoding=encoding)
xopenという新たに定義した関数のencodingっていうパラメータが、open関数に渡る際に、encoding=encodingとなった右側のみに代入されるのがいまいち何故か分かりません
581532
2018/10/26(金) 10:52:40.48ID:99OxERMj >>537
遅レスで会話の邪魔して悪いんですが。英語で質問するだけの勇気がありません・・・
pyGTKでgtk.gestureはそもそも文献自体がほとんど(2019/1に洋書が出るようですが)ないので、
とりあえず今はwebkit1を使って凌ごうともいます。
遅レスで会話の邪魔して悪いんですが。英語で質問するだけの勇気がありません・・・
pyGTKでgtk.gestureはそもそも文献自体がほとんど(2019/1に洋書が出るようですが)ないので、
とりあえず今はwebkit1を使って凌ごうともいます。
582デフォルトの名無しさん
2018/10/26(金) 11:27:23.79ID:+/5bIPXr いまスクレイピングの勉強してて、テキスト通りに入力したら
operation not permittedとエラーが出ました
python3.6
IPad Proでpythonista使ってます
写真がその内容です
https://imgur.com/a/DNU9qUA
operation not permittedとエラーが出ました
python3.6
IPad Proでpythonista使ってます
写真がその内容です
https://imgur.com/a/DNU9qUA
583デフォルトの名無しさん
2018/10/26(金) 11:28:03.08ID:+/5bIPXr 原因わかるかた教えてください
584デフォルトの名無しさん
2018/10/26(金) 12:46:11.07ID:xBIHPZW8585デフォルトの名無しさん
2018/10/26(金) 13:22:34.36ID:mc9Lb34M >>584
アホは出てくんな
アホは出てくんな
586デフォルトの名無しさん
2018/10/26(金) 13:32:28.45ID:kt4cO7LW >>583
クリップボードの内容を取得したりOSと連携する様な操作は
iPadだと出来ることと出来ないことがあるよ
クリップボードの内容取得は出来るけど
iOS用に書き換えないと
import clipboard
text = clipboard.get()
print(text)
Pythonista のドキュメントに以下の項目があって
iOS 用に使えるモジュールが出てる
Pythonista Modules
Additional modules developed specifically for iOS
クリップボードの内容を取得したりOSと連携する様な操作は
iPadだと出来ることと出来ないことがあるよ
クリップボードの内容取得は出来るけど
iOS用に書き換えないと
import clipboard
text = clipboard.get()
print(text)
Pythonista のドキュメントに以下の項目があって
iOS 用に使えるモジュールが出てる
Pythonista Modules
Additional modules developed specifically for iOS
587デフォルトの名無しさん
2018/10/26(金) 13:40:57.57ID:pU3zjhOE pipでuinstallした時に
would remove:
proceed?(y/n)
と聞かれて、yを選ぶと
fikenotfounderrorが出てアンインストール出来ません
どうしたらよいですか?
would remove:
proceed?(y/n)
と聞かれて、yを選ぶと
fikenotfounderrorが出てアンインストール出来ません
どうしたらよいですか?
588デフォルトの名無しさん
2018/10/26(金) 14:05:26.31ID:1xxQ31UG >>587
pipのバージョン、Pythonのバージョン、OSの種類とバージョンくらい書かないと絶対無理
pipのバージョン、Pythonのバージョン、OSの種類とバージョンくらい書かないと絶対無理
589デフォルトの名無しさん
2018/10/26(金) 14:59:47.80ID:pU3zjhOE pip 18.1
python 3.5.3
windows10
です。
python 3.5.3
windows10
です。
590デフォルトの名無しさん
2018/10/26(金) 15:02:26.09ID:pU3zjhOE そして、uinstallしたいのはtensorflow1.4.0です。
591デフォルトの名無しさん
2018/10/26(金) 15:07:19.64ID:1xxQ31UG >>589-590
・ないといわれたファイルは実際に(ほんとうに)あるのか、ないのかをexplorerあたりから確認しる
・テンソルフローはうまくうごいていたのか、いないのか
・ログインユーザー名に日本語(2バイト文字)を使ってないか?
・ないといわれたファイルは実際に(ほんとうに)あるのか、ないのかをexplorerあたりから確認しる
・テンソルフローはうまくうごいていたのか、いないのか
・ログインユーザー名に日本語(2バイト文字)を使ってないか?
592デフォルトの名無しさん
2018/10/26(金) 15:09:31.17ID:1xxQ31UG もしかしたら
「setuptoolsを再インストール」すればなおるかもしんない。
「setuptoolsを再インストール」すればなおるかもしんない。
593デフォルトの名無しさん
2018/10/26(金) 15:41:07.87ID:7cSp+c0W594デフォルトの名無しさん
2018/10/26(金) 17:48:07.64ID:OsF5A133595538
2018/10/26(金) 20:36:27.02ID:VmKQ+7a8 >>573
どうもありがとうございます 参考になります 。
自分はWebページ作りそのものに感心は全く無いんですが、しかし今の自分が読むべきなのは例えばこういう本なんでしょうか?
https://images-na.ssl-images-amazon.com/images/I/51cDHqLOl3L._SX353_BO1,204,203,200_.jpg
(アマゾンでHTML5で検索して一番上に出てきた本です)
どうもありがとうございます 参考になります 。
自分はWebページ作りそのものに感心は全く無いんですが、しかし今の自分が読むべきなのは例えばこういう本なんでしょうか?
https://images-na.ssl-images-amazon.com/images/I/51cDHqLOl3L._SX353_BO1,204,203,200_.jpg
(アマゾンでHTML5で検索して一番上に出てきた本です)
596573
2018/10/26(金) 23:50:52.48ID:vtwelEqx >>595
そういう感じの本です。
私の持っている本はこれです。ちょっと古いです。
https://images-na.ssl-images-amazon.com/images/I/51e-xYj018L.jpg
タグや属性を調べるだけならポケットリファレンスで十分かもしれません。
https://images-na.ssl-images-amazon.com/images/I/91Oh7lXoi0L.jpg
そういう感じの本です。
私の持っている本はこれです。ちょっと古いです。
https://images-na.ssl-images-amazon.com/images/I/51e-xYj018L.jpg
タグや属性を調べるだけならポケットリファレンスで十分かもしれません。
https://images-na.ssl-images-amazon.com/images/I/91Oh7lXoi0L.jpg
597デフォルトの名無しさん
2018/10/27(土) 00:41:13.73ID:QkHwtfgJ スレチ
598デフォルトの名無しさん
2018/10/27(土) 17:49:12.10ID:ZlRq8doU HTML, CSS, JavaScript, jQuery などの事は、web制作管理板で聞いてください
599デフォルトの名無しさん
2018/10/27(土) 17:49:31.22ID:M4OQ4nwj python3で
print("humi" , humi, "%") を実行すると ('temp', 23.0, 'c') ←23は実際のセンサーの値です。
print関数で””で囲んだのは文字扱いで、複数の文字のときは「,」で区切りますよね?
理想は humi 47.0 % と表示させたいのですがどうすればよいでしょうか?
初歩の質問なのですが悩んでおります
print("humi" , humi, "%") を実行すると ('temp', 23.0, 'c') ←23は実際のセンサーの値です。
print関数で””で囲んだのは文字扱いで、複数の文字のときは「,」で区切りますよね?
理想は humi 47.0 % と表示させたいのですがどうすればよいでしょうか?
初歩の質問なのですが悩んでおります
600デフォルトの名無しさん
2018/10/27(土) 17:53:45.53ID:WN5vicFY601デフォルトの名無しさん
2018/10/27(土) 18:16:13.96ID:M4OQ4nwj602デフォルトの名無しさん
2018/10/27(土) 18:19:52.16ID:M4OQ4nwj603デフォルトの名無しさん
2018/10/27(土) 18:26:42.99ID:d3ZViLoJ それはpython2の挙動だな
604デフォルトの名無しさん
2018/10/27(土) 18:40:14.43ID:M4OQ4nwj605デフォルトの名無しさん
2018/10/27(土) 18:49:01.71ID:QoVX+/e8606デフォルトの名無しさん
2018/10/27(土) 19:20:52.01ID:ZlRq8doU Windows10, WSL, Ubuntu 16.04 では、
which python3
=> /usr/bin/python3
which python3
=> /usr/bin/python3
607デフォルトの名無しさん
2018/10/27(土) 19:42:26.23ID:M4OQ4nwj608デフォルトの名無しさん
2018/10/27(土) 19:56:03.40ID:tpZx8Nmf まだ2系使ってるのはどんな層?
609デフォルトの名無しさん
2018/10/27(土) 20:38:05.02ID:p3Z91K38 Linux系じゃね?
ブートストラップ周りに2系がガッツリ食い込んでるって聞いたことある。
そのせいで2系がデフォルトで入ってるとか。
ブートストラップ周りに2系がガッツリ食い込んでるって聞いたことある。
そのせいで2系がデフォルトで入ってるとか。
610デフォルトの名無しさん
2018/10/27(土) 20:52:22.52ID:QoVX+/e8611デフォルトの名無しさん
2018/10/27(土) 21:09:16.81ID:d3ZViLoJ humi = 25
print("humi" , humi, "%")
print(humi)
出力:
('humi', 25, '%')
25
print("humi" , humi, "%")
print(humi)
出力:
('humi', 25, '%')
25
612デフォルトの名無しさん
2018/10/27(土) 21:26:03.77ID:M4OQ4nwj613デフォルトの名無しさん
2018/10/27(土) 21:28:08.36ID:d3ZViLoJ >>611はpython2で動かした結果
614デフォルトの名無しさん
2018/10/27(土) 21:39:51.74ID:M4OQ4nwj >>613
まじですか・・
当方ラズパイをつかってまして lxterminalで sudo python ファイル名 なら実行できるけど
python3 IDLEつかうとモジュールエラー出るから避けてたんだけど もしかしてpython3じゃないってことですかね?
まじですか・・
当方ラズパイをつかってまして lxterminalで sudo python ファイル名 なら実行できるけど
python3 IDLEつかうとモジュールエラー出るから避けてたんだけど もしかしてpython3じゃないってことですかね?
615デフォルトの名無しさん
2018/10/27(土) 21:41:02.12ID:GbJLfo15 ちゃんと調べたら2系で動いてましたテヘペロ
に1票
これまでずっとそうしてきたからとか本当に信用ならん
に1票
これまでずっとそうしてきたからとか本当に信用ならん
616デフォルトの名無しさん
2018/10/27(土) 21:42:08.13ID:QoVX+/e8 sudo python -Vと打ってかくにんしる
617デフォルトの名無しさん
2018/10/27(土) 21:53:58.98ID:WN5vicFY RHEL系もDebian系もシステム周りはここしばらくはpython -> python2で、3はpython3で呼ぶようになってる
618デフォルトの名無しさん
2018/10/27(土) 21:57:57.20ID:M4OQ4nwj619デフォルトの名無しさん
2018/10/27(土) 23:54:55.35ID:GbJLfo15 どんまい
620デフォルトの名無しさん
2018/10/28(日) 07:05:43.19ID:7IwsJv31 自分ではどうしようもなくて他人に泣きついたのにどうしてその相手の言うことを聞かずにグダグダやってたんだ?
621デフォルトの名無しさん
2018/10/28(日) 07:43:54.72ID:lVhl2H66 Pythonで作成したモジュールをUWSCで呼び出すことはできますか?
UWSCではDLLを読み込んで関数が使えるのですが
そういう行為をプログラミング用語でなんというのでしょうか
検索ワードがよくないのか手がかりすら掴めてないです
よろしくお願いします
UWSCではDLLを読み込んで関数が使えるのですが
そういう行為をプログラミング用語でなんというのでしょうか
検索ワードがよくないのか手がかりすら掴めてないです
よろしくお願いします
622デフォルトの名無しさん
2018/10/28(日) 07:57:38.17ID:JDWqlC9k623デフォルトの名無しさん
2018/10/28(日) 11:48:06.52ID:lVhl2H66 >>622
execはexeを起動するだけなんです
似たようなものにdoscmdというのがあるんですがこれでも駄目でした
UWSC掲示板があって過去ログもみたんですがPythonに関する質問すらなかったです
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi
すみませんわざわざ調べて頂いて
execはexeを起動するだけなんです
似たようなものにdoscmdというのがあるんですがこれでも駄目でした
UWSC掲示板があって過去ログもみたんですがPythonに関する質問すらなかったです
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi
すみませんわざわざ調べて頂いて
624デフォルトの名無しさん
2018/10/28(日) 12:12:29.72ID:YiTUMI+K >>623
それで十分だろ。
思い込みは捨てて
exec("<python.exeのフルパス> <スクリプトのフルパス>")
を実行してみなよ。
discmdのほうも単にパスが通ってないだけだと思うよ。
フルパスで入力してる?
それで十分だろ。
思い込みは捨てて
exec("<python.exeのフルパス> <スクリプトのフルパス>")
を実行してみなよ。
discmdのほうも単にパスが通ってないだけだと思うよ。
フルパスで入力してる?
625デフォルトの名無しさん
2018/10/28(日) 12:54:25.06ID:lVhl2H66626デフォルトの名無しさん
2018/10/28(日) 13:08:03.94ID:auhqQrbO Fswebcamで撮影した写真をメールで自動送信を考えています。
探知して送るのはあるんですけど、撮影した写真をまとめて送るようなプログラムってつくりにくいですか?
シェルだと楽っぽいけど 慣れてないので分からない。。
探知して送るのはあるんですけど、撮影した写真をまとめて送るようなプログラムってつくりにくいですか?
シェルだと楽っぽいけど 慣れてないので分からない。。
627デフォルトの名無しさん
2018/10/28(日) 13:30:49.38ID:auhqQrbO もしくは撮影されたフォルダ内から日時の新しいものとか新しいうちの四つを添付するとかできないかなと?
普通に添付するならファイルが指定になるから難しそうですかね。。
普通に添付するならファイルが指定になるから難しそうですかね。。
628デフォルトの名無しさん
2018/10/28(日) 22:42:22.92ID:KcfCsfCB 書いてみれば良いじゃない
629デフォルトの名無しさん
2018/10/28(日) 23:28:27.44ID:fiBcuTbE numpyで配列の要素が範囲となるような配列をつくることはできますか?
例えばAというはいれつがあって、
A[0] = np.arange(0,1,0.01)
みたいなものです
例えばAというはいれつがあって、
A[0] = np.arange(0,1,0.01)
みたいなものです
630デフォルトの名無しさん
2018/10/29(月) 00:31:07.47ID:tXMYusEl 意図があってるか分からないが
A = np.stack([np.arange(0,1,0.01)]*10)
A += np.arange(10).reshape((10,1))
A = np.stack([np.arange(0,1,0.01)]*10)
A += np.arange(10).reshape((10,1))
631デフォルトの名無しさん
2018/10/29(月) 09:07:55.84ID:FSHl5k4M >>620
いるよなこういう何の生産性もないレスする奴(烏賊ブ)
いるよなこういう何の生産性もないレスする奴(烏賊ブ)
632デフォルトの名無しさん
2018/10/29(月) 09:36:36.83ID:sBuO7UaY そうだな
633デフォルトの名無しさん
2018/10/29(月) 10:18:07.79ID:ThrPEx61634デフォルトの名無しさん
2018/10/29(月) 11:12:02.14ID:wR2M4wFA requestsでファイルをダウンロードする時タイムスタンプは変更しないでダウンロードする方法教えて下さい!!
635デフォルトの名無しさん
2018/10/29(月) 11:28:06.05ID:VxCr7qKV os.utime
636デフォルトの名無しさん
2018/10/29(月) 11:56:15.99ID:wR2M4wFA requestsで何らかの方法を使ってファイルの作成日などを取得してダウンロード後にos.utimeでその日付に書き換えるんでしょうか?
637デフォルトの名無しさん
2018/10/29(月) 11:57:16.03ID:wR2M4wFA wget -N url
みたいな事が出来るとよいんですが。
みたいな事が出来るとよいんですが。
638デフォルトの名無しさん
2018/10/29(月) 12:28:53.22ID:20y3T6Cw httpレスポンスヘッダのlastmodified
639デフォルトの名無しさん
2018/10/29(月) 12:51:46.14ID:VtmwN/uo wget -N url も utime やろ
640493
2018/10/29(月) 17:45:54.93ID:k7vAtK/H ちょっと前にwebkitgtk epubミューアの件で質問した者ですが、コードを見ていて疑問に思っていたことがあるので
質問させてください。
main_window.py
self.viewer = viewer.Viewer(self)
print("Displaying blank page.")
self.viewer.load_uri("about:blank") # Display a blank page
self.viewer.connect("load-finished", self.__ajust_scroll_position)
self.viewer.connect("load-finished", self.__save_new_position)
self.right_box.pack_end(self.right_scrollable_window, True, True, 0)
# Create Chapters List component and pack it on the left
self.chapters_list_component = chapters_list.ChaptersListComponent(self)
(途中省略)
def __save_new_position(self, wiget, data):
"""
Saves new position in case new load came from link based navigation
:param wiget:
:param data:
"""
if not data.get_uri() == "about:blank":
self.content_provider.set_data_from_uri(data.get_uri())
load-finishedの時に呼ばれているコールバック関数なんですが、wigetとdataって何なんですか?
なんでdata.get_uri()と書けるんでしょうか?
それと、このコールバック関数配置ページ読み込むごとに呼ばれているという認識で正しいのでしょうか?
あと、 content_provider.py
if urllib.parse.unquote((os.path.split(uri)[-1]).split("#")[0]) == os.path.split(self.chapter_links[i])[-1]:
ってどうして必要なんでしょうか?(これがないと機能しないようですが)
質問させてください。
main_window.py
self.viewer = viewer.Viewer(self)
print("Displaying blank page.")
self.viewer.load_uri("about:blank") # Display a blank page
self.viewer.connect("load-finished", self.__ajust_scroll_position)
self.viewer.connect("load-finished", self.__save_new_position)
self.right_box.pack_end(self.right_scrollable_window, True, True, 0)
# Create Chapters List component and pack it on the left
self.chapters_list_component = chapters_list.ChaptersListComponent(self)
(途中省略)
def __save_new_position(self, wiget, data):
"""
Saves new position in case new load came from link based navigation
:param wiget:
:param data:
"""
if not data.get_uri() == "about:blank":
self.content_provider.set_data_from_uri(data.get_uri())
load-finishedの時に呼ばれているコールバック関数なんですが、wigetとdataって何なんですか?
なんでdata.get_uri()と書けるんでしょうか?
それと、このコールバック関数配置ページ読み込むごとに呼ばれているという認識で正しいのでしょうか?
あと、 content_provider.py
if urllib.parse.unquote((os.path.split(uri)[-1]).split("#")[0]) == os.path.split(self.chapter_links[i])[-1]:
ってどうして必要なんでしょうか?(これがないと機能しないようですが)
641デフォルトの名無しさん
2018/10/29(月) 17:46:38.70ID:k7vAtK/H 関数配置ページ
関数は一ページの変換ミスです。ごめんなさい。
関数は一ページの変換ミスです。ごめんなさい。
642デフォルトの名無しさん
2018/10/29(月) 17:50:01.97ID:dTGmjkHB https://imgur.com/a/iT18u6W
titleの文字列取得の時はstring付ければよかったけど、最後の奴はstring付けるとエラーになります
こういうときはどうやって文字列だけ抽出するんですか?
titleの文字列取得の時はstring付ければよかったけど、最後の奴はstring付けるとエラーになります
こういうときはどうやって文字列だけ抽出するんですか?
643デフォルトの名無しさん
2018/10/29(月) 18:12:16.70ID:ItEstrK2644デフォルトの名無しさん
2018/10/29(月) 18:35:48.17ID:RJcKPmzk c.attrs['content']
645デフォルトの名無しさん
2018/10/29(月) 18:38:50.81ID:5LhWTx/7 pandasのtocsv使うときデータ内に¥nが入っててcsv出力時点で改行され、excelからcsvをデータインポートカンマ区切りで読み込みたい時に改行されて悲しいことになるんですがどうするのがスマートですか
¥n入るのは正しく、16桁以上の数字のカラムがあるのでデータインポートで読み込みたいです
¥n入るのは正しく、16桁以上の数字のカラムがあるのでデータインポートで読み込みたいです
646デフォルトの名無しさん
2018/10/29(月) 18:49:52.26ID:dTGmjkHB 本当だ
よく見るとこの場合は実行するとリストとして取得されてるんですね
そりゃstringじゃ無理な訳ですね
わかりやすい
よく見るとこの場合は実行するとリストとして取得されてるんですね
そりゃstringじゃ無理な訳ですね
わかりやすい
647デフォルトの名無しさん
2018/10/29(月) 19:06:12.03ID:wR2M4wFA648デフォルトの名無しさん
2018/10/29(月) 19:11:52.05ID:PoEM5suC ん? 今、何でもするって言ったよね。
649デフォルトの名無しさん
2018/10/29(月) 19:21:40.44ID:TEtmhpeX650デフォルトの名無しさん
2018/10/29(月) 21:46:01.91ID:b4sCrQ/m >>640
そんな零細プログラムの詳細をここで質問しても誰も答えないと思うぞ…
気が向いたから答えるけど次はないからな。
__save_new_position()メソッドを呼びだしているのはwebviewクラス。
下記ページによると、第二引数はwebview自身、第三引数はwebframeクラスのインスタンスを渡して呼び出されることが分かる。
webframeのリファレンスページを見ればwebframeクラスがget_uri()メソッドを持っていることも分かる。
https://lazka.github.io/pgi-docs/WebKit-3.0/classes/WebView.html#WebKit.WebView.signals.load_finished
content_providerのほうは、指定されたxmlファイルが、chapter_links配列の何番目のファイル名と一致しているかを調べることで、チャプター番号を特定している。
uriがエスケープされていたり"#"フラグメントがついてると比較できないから取り除いている。
そんな零細プログラムの詳細をここで質問しても誰も答えないと思うぞ…
気が向いたから答えるけど次はないからな。
__save_new_position()メソッドを呼びだしているのはwebviewクラス。
下記ページによると、第二引数はwebview自身、第三引数はwebframeクラスのインスタンスを渡して呼び出されることが分かる。
webframeのリファレンスページを見ればwebframeクラスがget_uri()メソッドを持っていることも分かる。
https://lazka.github.io/pgi-docs/WebKit-3.0/classes/WebView.html#WebKit.WebView.signals.load_finished
content_providerのほうは、指定されたxmlファイルが、chapter_links配列の何番目のファイル名と一致しているかを調べることで、チャプター番号を特定している。
uriがエスケープされていたり"#"フラグメントがついてると比較できないから取り除いている。
651デフォルトの名無しさん
2018/10/29(月) 21:54:17.26ID:g2+WGN4L >>647
一般的にHTTPレスポンスヘッダのLast-Modifiedにファイルのmtimeが入ってるからそれを取得して、ファイル書き出してからmtime更新すれば良い
curl使えるなら-vで一度レスポンスヘッダ見るといい
一般的にHTTPレスポンスヘッダのLast-Modifiedにファイルのmtimeが入ってるからそれを取得して、ファイル書き出してからmtime更新すれば良い
curl使えるなら-vで一度レスポンスヘッダ見るといい
652デフォルトの名無しさん
2018/10/29(月) 21:58:45.40ID:Uyob8jIm 凄いねよく答えられるな、流石
gtkは全く知らないけど
wigetはwidgetのスペルミスだろうね、きっと
gtkは全く知らないけど
wigetはwidgetのスペルミスだろうね、きっと
653デフォルトの名無しさん
2018/10/30(火) 06:58:19.30ID:wwkQj2Ri >>651
これであってますか?
resp = requests.get(url)
# レスポンスヘッダの Last-Modified を取得
last_modified = resp.headers['Last-Modified']
print(ast_modified)
Thu, 13 Oct 2016 05:36:56 GMT
# datetime オブジェクトに変換 (表記のロケール依存を防ぐために dateutil.parser を使う)
last_modified = dateutil.parser.parse(last_modified)
print(ast_modified)
2016-10-13 05:36:56+00:00
# unix time に変えるために calendar を使う
unixtime = calendar.timegm(lastModified.utctimetuple())
print(unixtime)
1476337016
# ファイルの書き込み
img_file = open(file_path, 'wb')
img_file.write(resp.content)
img_file.close()
os.utime(file_path, (unixtime, unixtime)) # ファイルパス, (アクセス時間, 修正時間)
ファイルの作成日の取得と書き込みはどうやるんでしょうか?
これであってますか?
resp = requests.get(url)
# レスポンスヘッダの Last-Modified を取得
last_modified = resp.headers['Last-Modified']
print(ast_modified)
Thu, 13 Oct 2016 05:36:56 GMT
# datetime オブジェクトに変換 (表記のロケール依存を防ぐために dateutil.parser を使う)
last_modified = dateutil.parser.parse(last_modified)
print(ast_modified)
2016-10-13 05:36:56+00:00
# unix time に変えるために calendar を使う
unixtime = calendar.timegm(lastModified.utctimetuple())
print(unixtime)
1476337016
# ファイルの書き込み
img_file = open(file_path, 'wb')
img_file.write(resp.content)
img_file.close()
os.utime(file_path, (unixtime, unixtime)) # ファイルパス, (アクセス時間, 修正時間)
ファイルの作成日の取得と書き込みはどうやるんでしょうか?
654デフォルトの名無しさん
2018/10/30(火) 06:59:46.91ID:wwkQj2Ri >>653
print(ast_modified)はprint(last_modified)の間違いです
print(ast_modified)はprint(last_modified)の間違いです
656デフォルトの名無しさん
2018/10/30(火) 09:35:33.18ID:/tw9qCHj 次はないと言割れましたがちょっと不思議なことがあったので質問させていただきます。
sorted関数を使うと、
パブリックドメインのepubで有名なgutenbergのファイル名をソートしていたのですが、
(@public@vhost@g@gutenberg@html@files@31278@31278-h@31278-h-0.htm.htm、@public@vhost@g@gutenberg@html@files@31278@31278-h@31278-h-10.htm.htmllなどというファイル名です)
0. 1.10, 11,12, .2などとソートされるようですが、普通に0,1,2,3,4の順番にできないのでしょうか。
というよりなぜグーテンベルクのファイルだけ、おかしなソートになるのかわかりません。
sorted関数を使うと、
パブリックドメインのepubで有名なgutenbergのファイル名をソートしていたのですが、
(@public@vhost@g@gutenberg@html@files@31278@31278-h@31278-h-0.htm.htm、@public@vhost@g@gutenberg@html@files@31278@31278-h@31278-h-10.htm.htmllなどというファイル名です)
0. 1.10, 11,12, .2などとソートされるようですが、普通に0,1,2,3,4の順番にできないのでしょうか。
というよりなぜグーテンベルクのファイルだけ、おかしなソートになるのかわかりません。
657デフォルトの名無しさん
2018/10/30(火) 09:48:16.33ID:JqsKq037 数値型は数の大小で比較されるが、
文字列型の数値は文字列として比較されるから数の大小順には並ばない
数値として比較したければ、sort(またはsorted)のkey引数に適切なキー抽出関数を与える必要がある
その本だけがと言っているが、条件を満たしていればどんなリストでもお前の言う「おかしなソート」になる
print(sorted('11', '2', '.1'))
文字列型の数値は文字列として比較されるから数の大小順には並ばない
数値として比較したければ、sort(またはsorted)のkey引数に適切なキー抽出関数を与える必要がある
その本だけがと言っているが、条件を満たしていればどんなリストでもお前の言う「おかしなソート」になる
print(sorted('11', '2', '.1'))
659デフォルトの名無しさん
2018/10/30(火) 12:37:59.64ID:BBRqRtLN660デフォルトの名無しさん
2018/10/30(火) 12:44:20.01ID:QArnhM9r661デフォルトの名無しさん
2018/10/30(火) 14:52:54.90ID:mxVOiKCI bashからpythonプログラムを実行するときに、pycharmで簡単にデバッグしたいんですが、どうすればいいですか?
pythonコードだけの場合のやり方は分かるんですけど
print()いっぱい書くしか無いんですかね
pythonコードだけの場合のやり方は分かるんですけど
print()いっぱい書くしか無いんですかね
662デフォルトの名無しさん
2018/10/30(火) 14:55:07.36ID:mxVOiKCI >>658
float型に変換しないとちゃんとソートできないよ
float型に変換しないとちゃんとソートできないよ
663デフォルトの名無しさん
2018/10/30(火) 15:01:43.41ID:mxVOiKCI664デフォルトの名無しさん
2018/10/30(火) 15:02:59.00ID:o9t78hsF >>661
pycharm使ってparametersに引数入れてやればいい。
pycharm使ってparametersに引数入れてやればいい。
666653
2018/10/30(火) 16:13:18.69ID:74FRV+Zp try:
f = open(local_path, 'rb')
dbx.files_upload(f.read(), upload_path)
f.close()
except dropbox.exceptions.ApiError:
print(dropbox.exceptions.ApiError.error)
Dropboxにアップロードする時、エラーが出た時はプリントするように例外を出したいんですが、
これだと、
AttributeError: type object 'ApiError' has no attribute 'error'
ってエラーが出てしまいます。
try:
f = open(local_path, 'rb')
dbx.files_upload(f.read(), upload_path)
f.close()
except dropbox.exceptions.ApiError as err:
print(err.error)
これだと、エラーがちゃんとプリントされます
なぜ、 as err を付けるとちゃんと動くんでしょうか? 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
f = open(local_path, 'rb')
dbx.files_upload(f.read(), upload_path)
f.close()
except dropbox.exceptions.ApiError:
print(dropbox.exceptions.ApiError.error)
Dropboxにアップロードする時、エラーが出た時はプリントするように例外を出したいんですが、
これだと、
AttributeError: type object 'ApiError' has no attribute 'error'
ってエラーが出てしまいます。
try:
f = open(local_path, 'rb')
dbx.files_upload(f.read(), upload_path)
f.close()
except dropbox.exceptions.ApiError as err:
print(err.error)
これだと、エラーがちゃんとプリントされます
なぜ、 as err を付けるとちゃんと動くんでしょうか? 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
667デフォルトの名無しさん
2018/10/30(火) 16:47:54.22ID:mxVOiKCI pycharmでrun/debug configurationのset wowrking directoryに、プログラムを実行したいディレクトリ(pロジェクトのルート外)を入れても、ファイルが見つからないとエラーがでます
ターミナルでは実行可能です
プロジェクトのルート外のディレクトリで実行するにはどうすればいいいか教えて頂きたいです
ターミナルでは実行可能です
プロジェクトのルート外のディレクトリで実行するにはどうすればいいいか教えて頂きたいです
668デフォルトの名無しさん
2018/10/30(火) 17:27:16.66ID:o9t78hsF >>667
ちょっと何言ってんだかわかんない。
working directoryは実行するpyhonスクリプトのディレクトリが勝手に入ると思うのだが。
見つからないと言われるファイルは何?
実行するスクリプトから参照しているファイルじゃないの?
図示してくれ。
ちょっと何言ってんだかわかんない。
working directoryは実行するpyhonスクリプトのディレクトリが勝手に入ると思うのだが。
見つからないと言われるファイルは何?
実行するスクリプトから参照しているファイルじゃないの?
図示してくれ。
669デフォルトの名無しさん
2018/10/30(火) 18:23:15.32ID:LRpQBEf3 >>666
前者はクラス名.変数名(ApiError.error)になっているのでクラス変数を参照しようとしている。
故にApiErrorにerrorという名前のクラス変数がなければエラーになる。
後者はインスタンス名.変数名(err.error)になっているのでインスタンス変数を参照しようとしている。
errorはインスタンス変数なのでエラーにならない。
前者はクラス名.変数名(ApiError.error)になっているのでクラス変数を参照しようとしている。
故にApiErrorにerrorという名前のクラス変数がなければエラーになる。
後者はインスタンス名.変数名(err.error)になっているのでインスタンス変数を参照しようとしている。
errorはインスタンス変数なのでエラーにならない。
670653
2018/10/30(火) 18:43:42.81ID:wwkQj2Ri >>669
どうもありがとうございます
dropbox.exceptions.ApiError as err
これって、
dropbox.exceptions.ApiError
をerrって別名にしただけですよね?
ってことは
err.errorと
dropbox.exceptions.ApiError.error
は結局同じ気がするんですが、違うんでしょうか?
違いがわからないです
どうもありがとうございます
dropbox.exceptions.ApiError as err
これって、
dropbox.exceptions.ApiError
をerrって別名にしただけですよね?
ってことは
err.errorと
dropbox.exceptions.ApiError.error
は結局同じ気がするんですが、違うんでしょうか?
違いがわからないです
671デフォルトの名無しさん
2018/10/30(火) 19:22:58.06ID:LRpQBEf3672デフォルトの名無しさん
2018/10/30(火) 19:39:22.54ID:vHVA3ezu except E as N:
と書いてある場合は
"Eが例外オブジェクトのクラスだったら例外をNに代入"
という処理になる
他のasを使った文のようにEの別名をNにする訳ではない
と書いてある場合は
"Eが例外オブジェクトのクラスだったら例外をNに代入"
という処理になる
他のasを使った文のようにEの別名をNにする訳ではない
673デフォルトの名無しさん
2018/10/30(火) 23:12:08.40ID:tLch1bmf 普通そういう所に、クラス名など来ない
例外インスタンスが来る
例外インスタンスが来る
674デフォルトの名無しさん
2018/10/31(水) 00:55:47.26ID:KgeV0wH8 ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
sklearnでLinearSVCのグリッドサーチするとこの文章が永遠に出てくるんですけどどういうことですか?調べてもわかりませんでした。
sklearnでLinearSVCのグリッドサーチするとこの文章が永遠に出てくるんですけどどういうことですか?調べてもわかりませんでした。
675デフォルトの名無しさん
2018/10/31(水) 01:29:09.72ID:C97UeufF そのままの意味で、毎回の学習が収束まで行ってないからイテレーション回数増やせって事では
676デフォルトの名無しさん
2018/10/31(水) 01:30:14.36ID:KgeV0wH8 >>675
増やしても出てくるんですよね…
増やしても出てくるんですよね…
677デフォルトの名無しさん
2018/10/31(水) 10:16:21.72ID:C97UeufF >>676
学習率が大きすぎるとか
学習率が大きすぎるとか
678デフォルトの名無しさん
2018/10/31(水) 12:17:11.83ID:/o0RsUYT 1からpythonの勉強始めて、オブジェクト指向とやらで挫折中。
クラスやら継承は何となく理解できて、
どう書けばいいのかも何となくわかるけど、
理解するのに時間がかかりそう。色々なコードを書いて覚えていくしかないのか?
経験者ってここら辺どうなんですか(しっかり理解できているかどうか)
クラスやら継承は何となく理解できて、
どう書けばいいのかも何となくわかるけど、
理解するのに時間がかかりそう。色々なコードを書いて覚えていくしかないのか?
経験者ってここら辺どうなんですか(しっかり理解できているかどうか)
679デフォルトの名無しさん
2018/10/31(水) 13:08:59.03ID:gqgWGRur 関数とかと同じで、クラスも便利だなあと思える具体例や機会があれば使えるようになる
何処か見たアドレス帳を作る例は分かり易そうだったけど、あれは何処だったか
でもクラス使わなくてもプログラムは出来るから直ぐに使えるようにならなくても問題ない
何処か見たアドレス帳を作る例は分かり易そうだったけど、あれは何処だったか
でもクラス使わなくてもプログラムは出来るから直ぐに使えるようにならなくても問題ない
680デフォルトの名無しさん
2018/10/31(水) 13:20:42.47ID:gqtAU0ur681デフォルトの名無しさん
2018/10/31(水) 13:31:11.31ID:zGg5PO0t 日本のプログラマーの質が問われるから。
だってw
だってw
682デフォルトの名無しさん
2018/10/31(水) 13:32:03.51ID:gc+olMws "html54200-0.html#anchor001"
と言う文字列の#の前の数字だけ抽出(542000)したいのですが、どのような正規表現を書けばよいのでしょうか?
([0-9]+)(?=#)
ではだめでした。よろしくお願いします。
と言う文字列の#の前の数字だけ抽出(542000)したいのですが、どのような正規表現を書けばよいのでしょうか?
([0-9]+)(?=#)
ではだめでした。よろしくお願いします。
683682
2018/10/31(水) 13:35:03.91ID:gc+olMws 書き忘れましたが、現状ではre.findall[54200、 0]と言うリストを取得したあと、
join()で542000にすることを考えていたのですが、アンカーから後を取得すると狂ってしまうので、
アンカーから後は抽出したくないのです。よろしくお願いします。
join()で542000にすることを考えていたのですが、アンカーから後を取得すると狂ってしまうので、
アンカーから後は抽出したくないのです。よろしくお願いします。
684デフォルトの名無しさん
2018/10/31(水) 13:40:28.98ID:fzRw5h8F 正規表現とかいらんだろ
str.lstrip("html")
str[:7]
str.lstrip("html")
str[:7]
685デフォルトの名無しさん
2018/10/31(水) 13:42:08.67ID:1NzreX+B re.search("(¥d+).*?(?=#)",s).group(1)
686デフォルトの名無しさん
2018/10/31(水) 13:43:24.16ID:fzRw5h8F ああそこが欲しいのか
str.lstrip("html")
str[:6].strip("-")
str.lstrip("html")
str[:6].strip("-")
687デフォルトの名無しさん
2018/10/31(水) 13:43:30.37ID:BEBaW28W >>668
見つからないと言われるファイルはrun/debug configurationのparametersで指定したものです
>>working directoryは実行するpyhonスクリプトのディレクトリが勝手に入る
それをスクリプトを実行したい場所に変更してるんですけど
見つからないと言われるファイルはrun/debug configurationのparametersで指定したものです
>>working directoryは実行するpyhonスクリプトのディレクトリが勝手に入る
それをスクリプトを実行したい場所に変更してるんですけど
688デフォルトの名無しさん
2018/10/31(水) 13:45:53.85ID:0yqa0SvH >>682
(^0-9)|#.* を空文字に置換
(^0-9)|#.* を空文字に置換
689デフォルトの名無しさん
2018/10/31(水) 13:51:38.68ID:XAA9QXm2 >>680-681
2ちゃんや5ちゃんの履歴消すしかないな
2ちゃんや5ちゃんの履歴消すしかないな
690デフォルトの名無しさん
2018/10/31(水) 13:53:01.77ID:gc+olMws691デフォルトの名無しさん
2018/10/31(水) 13:55:03.93ID:1NzreX+B692デフォルトの名無しさん
2018/10/31(水) 14:00:41.64ID:gc+olMws 検索する文字列にsplit("#")[0]をつけることを思いつきました。
あんまりスマートじゃないかもしれませんがこれで行こうと思います。
皆さんありがとうございました。
あんまりスマートじゃないかもしれませんがこれで行こうと思います。
皆さんありがとうございました。
693デフォルトの名無しさん
2018/10/31(水) 14:03:31.31ID:1NzreX+B >>687
図示してくれるか、何をどうしているのかという全体の構成がわからないと、
何でつまづいているのかがわからない。
parametersにはsys.argvで受け取りたい内容を入れることはわかってるんだよね?
図示してくれるか、何をどうしているのかという全体の構成がわからないと、
何でつまづいているのかがわからない。
parametersにはsys.argvで受け取りたい内容を入れることはわかってるんだよね?
694デフォルトの名無しさん
2018/10/31(水) 14:20:03.17ID:BEBaW28W >>693
他人の書いたコードがどう動いてるのか理解するためにデバッグしたいと思っていて、全体の構成はよくわかってないんですけど、それだとデバッグはできないってことなんでしかね?
あるファイルが出力される時点で動いてるコードを見たいと思ってるんですけど
他人の書いたコードがどう動いてるのか理解するためにデバッグしたいと思っていて、全体の構成はよくわかってないんですけど、それだとデバッグはできないってことなんでしかね?
あるファイルが出力される時点で動いてるコードを見たいと思ってるんですけど
695デフォルトの名無しさん
2018/10/31(水) 14:46:51.62ID:1NzreX+B >>694
イマイチわからんけど、
bashでpythonのscriptに何らかの引数を渡して実行したいって事じゃないの?
そうだとすればbashからの引数がscript parmetersの値で、
pycharmでそのスクリプトを開いてデバッグするだけの事だと思うんだけど違うの?
イマイチわからんけど、
bashでpythonのscriptに何らかの引数を渡して実行したいって事じゃないの?
そうだとすればbashからの引数がscript parmetersの値で、
pycharmでそのスクリプトを開いてデバッグするだけの事だと思うんだけど違うの?
696デフォルトの名無しさん
2018/10/31(水) 14:54:31.80ID:BEBaW28W697デフォルトの名無しさん
2018/10/31(水) 15:00:36.67ID:1NzreX+B python側のデバッグ(動作確認)したいだけなら、
引数にこだわらずにダイレクトにファイル指定してやればいいだけだと思うけど?
引数にこだわらずにダイレクトにファイル指定してやればいいだけだと思うけど?
698デフォルトの名無しさん
2018/10/31(水) 15:27:06.72ID:BEBaW28W いちいち書き換えないといけないんですかね?
せっかくコマンドライン引数で指定できるようになってるのに
せっかくコマンドライン引数で指定できるようになってるのに
699デフォルトの名無しさん
2018/10/31(水) 15:29:28.35ID:BEBaW28W >>692
そういう文字列処理はawkとかperlのほうが簡単だよ
そういう文字列処理はawkとかperlのほうが簡単だよ
700デフォルトの名無しさん
2018/10/31(水) 17:36:50.33ID:DIssBnZo def gethtml(url, prm=""):
r = requests.get(url, params=prm)
r.encoding = 'CP932'
return r.text
こんな関数でエンコードがCP932(のはずの)サイトを取得して
日本語は普通に表示されてるんですけど
@とかqとかが文字化けしてしまいます。どうすれば文字化けを回避できますか?
r = requests.get(url, params=prm)
r.encoding = 'CP932'
return r.text
こんな関数でエンコードがCP932(のはずの)サイトを取得して
日本語は普通に表示されてるんですけど
@とかqとかが文字化けしてしまいます。どうすれば文字化けを回避できますか?
701デフォルトの名無しさん
2018/10/31(水) 18:12:41.93ID:taLNwoKn NEC特殊文字が化けてるのか
いま確認環境がないからどうにかできるかはわからん
いま確認環境がないからどうにかできるかはわからん
702デフォルトの名無しさん
2018/10/31(水) 18:28:43.45ID:XAA9QXm2 >>> print('@とかqとか')
@とかqとか
ちゃんと表示される
@とかqとか
ちゃんと表示される
703デフォルトの名無しさん
2018/10/31(水) 18:37:40.87ID:DIssBnZo とりあえず自己解決
対象ページをファイルとして保存した後、codecsで保存したファイルをロードすることで対処できました
対象ページをファイルとして保存した後、codecsで保存したファイルをロードすることで対処できました
704デフォルトの名無しさん
2018/10/31(水) 20:12:08.83ID:gHBnMNYM epubビューアの開発は順調に進んでるのかな
705デフォルトの名無しさん
2018/10/31(水) 20:40:39.13ID:/o0RsUYT706デフォルトの名無しさん
2018/11/01(木) 00:22:16.46ID:PBz6MbCm >>682-692
Ruby なら、File.basename の第2引数に、.* を渡せば、. より前の部分を取れる
file_name = File.basename( "html54200-0.html#anchor001", ".*" )
#=> "html54200-0"
>>705
Ruby で、Selenium WebDriver, Nokogiri を使って、
ブラウザで自動ログインしたり、Showroom のアバターを削除したりしてる
他にも、5ch の書き込み内から、画像のURL だけを拾って表示したり、
主に、ブラウザを使った、webサイトの自動テストに使う
その際のPage Object は、典型的なオブジェクト指向による、テスト方法
Ruby なら、File.basename の第2引数に、.* を渡せば、. より前の部分を取れる
file_name = File.basename( "html54200-0.html#anchor001", ".*" )
#=> "html54200-0"
>>705
Ruby で、Selenium WebDriver, Nokogiri を使って、
ブラウザで自動ログインしたり、Showroom のアバターを削除したりしてる
他にも、5ch の書き込み内から、画像のURL だけを拾って表示したり、
主に、ブラウザを使った、webサイトの自動テストに使う
その際のPage Object は、典型的なオブジェクト指向による、テスト方法
707デフォルトの名無しさん
2018/11/01(木) 04:05:25.76ID:rG6revia >>705
まずはDomを理解汁
まずはDomを理解汁
708デフォルトの名無しさん
2018/11/01(木) 10:34:25.18ID:z733lC2q >>705-707
スレチ
スレチ
709デフォルトの名無しさん
2018/11/01(木) 10:58:02.80ID:LBGTfI8S >>698
言ってる事が矛盾してるんだけど。
>他人の書いたコードがどう動いてるのか理解するためにデバッグ
>いちいち書き換えないといけないんですかね?
理解すれためなら、一回入力するだけでいちいち書き換える必要はないだろ。
言ってる事が矛盾してるんだけど。
>他人の書いたコードがどう動いてるのか理解するためにデバッグ
>いちいち書き換えないといけないんですかね?
理解すれためなら、一回入力するだけでいちいち書き換える必要はないだろ。
710デフォルトの名無しさん
2018/11/02(金) 23:07:04.01ID:WjnTpSxg MySQL connectorの使い方を教えてください。
MySQLのTIME型をSELECTしてfetchoneすると、datetime.timedelta型になってしまいます。
datetime.time型で取得するにはどうすれば良いのでしょうか?
MySQLのTIME型をSELECTしてfetchoneすると、datetime.timedelta型になってしまいます。
datetime.time型で取得するにはどうすれば良いのでしょうか?
711デフォルトの名無しさん
2018/11/03(土) 07:29:30.23ID:ddSYlxYG712デフォルトの名無しさん
2018/11/03(土) 10:46:05.35ID:j00DZJyr rawで引っ張って自分でconvertする。
列の仕様がはっきりしているなら、たぶんこれが一番速い。
列の仕様がはっきりしているなら、たぶんこれが一番速い。
713デフォルトの名無しさん
2018/11/03(土) 22:09:03.24ID:+dBdxEJM714デフォルトの名無しさん
2018/11/03(土) 22:14:11.53ID:+dBdxEJM pyファイルに引数としてファイル渡して実行しながらデバッグしたいんですけどideでできますか?
715デフォルトの名無しさん
2018/11/04(日) 00:16:25.00ID:NVjVjeVc さすがにできないと困るでしょう。
716デフォルトの名無しさん
2018/11/04(日) 13:42:02.03ID:5RY1Lh2I717デフォルトの名無しさん
2018/11/04(日) 23:14:32.54ID:mnXqRc1x Excelの全シートの特定セルから値を抽出したいんですが、
import openpyxl
book = openpyxl.load_workbook('xxx.xlsx')
all_sheet = book.sheetnames
for 抽出 in all_sheet:
print(抽出.cell(row=1, column=1).value)
ってやってもうまくいきません。
ご指導をお願いします。
import openpyxl
book = openpyxl.load_workbook('xxx.xlsx')
all_sheet = book.sheetnames
for 抽出 in all_sheet:
print(抽出.cell(row=1, column=1).value)
ってやってもうまくいきません。
ご指導をお願いします。
718デフォルトの名無しさん
2018/11/04(日) 23:33:00.89ID:H3HfNEok Gmail inboxでメール作成する時、文字の色を替えたり背景色を付けたりは、
Pythonにやらせるのはやはり難しいのでしょうか
例えば文章を[b]と[/)で挟んでも、何事も無く……
ご指導を…m(_ _)m
Pythonにやらせるのはやはり難しいのでしょうか
例えば文章を[b]と[/)で挟んでも、何事も無く……
ご指導を…m(_ _)m
719デフォルトの名無しさん
2018/11/04(日) 23:45:43.19ID:f0WItr4A 関数の引数の一つをオプションにしたいのですが
デフォルトの値を関数内で決めたいです。例えばイメージとしては
def Function(data, average):
としてaverageのデフォルトの値を引数dataの平均値にしたいです。
average = np.(data)
のようにしてもエラーが出てきます。どのようにすればよいでしょうか?
デフォルトの値を関数内で決めたいです。例えばイメージとしては
def Function(data, average):
としてaverageのデフォルトの値を引数dataの平均値にしたいです。
average = np.(data)
のようにしてもエラーが出てきます。どのようにすればよいでしょうか?
720デフォルトの名無しさん
2018/11/05(月) 00:12:47.04ID:WItML0Cb721デフォルトの名無しさん
2018/11/05(月) 00:22:33.69ID:Forp8UuV722デフォルトの名無しさん
2018/11/05(月) 00:28:55.36ID:8OhTTD0N >>719
平均を取るのは np.mean() だと思う。(import numpy as npしてればの話だけど)
関数の引数を他の引数のデフォルト値に設定したりはできないので
def Fucntion(data, average=None):
if average is None:
avarage = np.mean(data)
と書くのが普通じゃないかな
平均を取るのは np.mean() だと思う。(import numpy as npしてればの話だけど)
関数の引数を他の引数のデフォルト値に設定したりはできないので
def Fucntion(data, average=None):
if average is None:
avarage = np.mean(data)
と書くのが普通じゃないかな
723デフォルトの名無しさん
2018/11/05(月) 00:39:16.13ID:Dut8FIaQ724デフォルトの名無しさん
2018/11/05(月) 10:25:00.99ID:h9xlJLA6 Slackでは<{url}|{title}>の形式で書けば、リンクとして表示してくれるので、
slackToken = 'example'
url = 'http://example.com'
text1 ='あああああ'
text2 = 'タイトルです'
attText = f'aiueo <{url}|{text2}> kakikukeko'
slackData = {
"username": username,
"channel": channel,
"text": text1,
"attachments": [
{
"color": "#39a6e8",
"text": attText,
"thumb_url": thumbUrl
}
]}
requests.post(slackToken, data=json.dumps(slackData))
こんな感じで、requestsを使ってSlackにおくりたいんですが、
title2の1文字目が「<」で最後の文字が「>」だった場合、
Slack上では何故か aiueo <<http://example.com<タイトルです>>>って表示になって、バグってしまいます。
今はとりあえず、text2の最初と最後が<>だったらその文字を削除してるんですが、text2に<>を含んだままSlackに送るにはどうやるんでしょうか?
slackToken = 'example'
url = 'http://example.com'
text1 ='あああああ'
text2 = 'タイトルです'
attText = f'aiueo <{url}|{text2}> kakikukeko'
slackData = {
"username": username,
"channel": channel,
"text": text1,
"attachments": [
{
"color": "#39a6e8",
"text": attText,
"thumb_url": thumbUrl
}
]}
requests.post(slackToken, data=json.dumps(slackData))
こんな感じで、requestsを使ってSlackにおくりたいんですが、
title2の1文字目が「<」で最後の文字が「>」だった場合、
Slack上では何故か aiueo <<http://example.com<タイトルです>>>って表示になって、バグってしまいます。
今はとりあえず、text2の最初と最後が<>だったらその文字を削除してるんですが、text2に<>を含んだままSlackに送るにはどうやるんでしょうか?
725デフォルトの名無しさん
2018/11/05(月) 13:32:25.59ID:o5QGnfIr <
>
>
726デフォルトの名無しさん
2018/11/05(月) 13:46:32.33ID:h9xlJLA6 どうもありがとうございます!
727デフォルトの名無しさん
2018/11/05(月) 16:48:18.27ID:0An2vgEj list.__getitemって何を返すんですか?
調べてもわからなかったんで教えてください
調べてもわからなかったんで教えてください
728デフォルトの名無しさん
2018/11/05(月) 17:18:39.84ID:o5QGnfIr a=[1,2,3]
a.__getitem__(1) # 2
a.__getitem__(1) # 2
729デフォルトの名無しさん
2018/11/05(月) 17:19:31.32ID:+kDBf8bs >>727
スライスの演算をオーバーロードするメソッドやで
スライスの演算をオーバーロードするメソッドやで
730デフォルトの名無しさん
2018/11/05(月) 18:10:05.24ID:0An2vgEj731デフォルトの名無しさん
2018/11/05(月) 18:29:42.84ID:ll2Vxm5g これのnew = tv[i]っていりますの?
なんかいらないっぽい気がして削っても動いたんだけど
暇で優しい人気が向いたら教えて
tv = ["GOT", "Narcos",
"Vice"]
for i, show in enumerate(tv):
new = tv[i]
new = new.upper()
tv[i] = new
print(tv)
https://github.com/calthoff/self_taught/blob/master/python_ex205.py/
なんかいらないっぽい気がして削っても動いたんだけど
暇で優しい人気が向いたら教えて
tv = ["GOT", "Narcos",
"Vice"]
for i, show in enumerate(tv):
new = tv[i]
new = new.upper()
tv[i] = new
print(tv)
https://github.com/calthoff/self_taught/blob/master/python_ex205.py/
732デフォルトの名無しさん
2018/11/05(月) 18:33:34.89ID:ll2Vxm5g あっれ?この野郎!
本とコードが違うじゃないか
独学プログラマーめ・・・
本だと変数のshowがnewに書き換えられてる
本とコードが違うじゃないか
独学プログラマーめ・・・
本だと変数のshowがnewに書き換えられてる
733デフォルトの名無しさん
2018/11/05(月) 23:28:07.21ID:i/g7f+lV734デフォルトの名無しさん
2018/11/06(火) 09:03:03.85ID:oDFoDpyv735デフォルトの名無しさん
2018/11/06(火) 11:06:31.30ID:cQb5p7fE python+gtkでepubビューアを改造している者ですが、
htmlファイルのアンカーのスクロール座標をjavascriptを使わずにpythonだけ取得することはできるんでしょうか?
具体的な用途としては、ブックマークの時のチャプター名や、
Linuxのevince(document viewer)の様に、画面をスクロールして次のチャプターの領域に入ると自動で、
左のチャプターリストビューの選択もそのチャプターのところに移動してほしいのですが、(クリック扱いになると
チャプターの最初に戻されてしまうので、青い選択が移るだけにしたいのです。)
言葉でうまく説明できなくてすみません
htmlファイルのアンカーのスクロール座標をjavascriptを使わずにpythonだけ取得することはできるんでしょうか?
具体的な用途としては、ブックマークの時のチャプター名や、
Linuxのevince(document viewer)の様に、画面をスクロールして次のチャプターの領域に入ると自動で、
左のチャプターリストビューの選択もそのチャプターのところに移動してほしいのですが、(クリック扱いになると
チャプターの最初に戻されてしまうので、青い選択が移るだけにしたいのです。)
言葉でうまく説明できなくてすみません
736デフォルトの名無しさん
2018/11/06(火) 11:20:08.33ID:VRf3OGgv737デフォルトの名無しさん
2018/11/06(火) 17:51:56.07ID:Zf4d0x7S htmlで
<td class=" "><a href=" ">TEXT</a></td>
のうちの<a href>内の" "の中身だけを取り出すにはどうすればいいですか?
<td class=" "><a href=" ">TEXT</a></td>
のうちの<a href>内の" "の中身だけを取り出すにはどうすればいいですか?
738デフォルトの名無しさん
2018/11/06(火) 19:12:51.68ID:B9fQWZZ6739724
2018/11/06(火) 20:09:21.47ID:QHiQfJwC 724ですけど、変数内に~~や**があるとそれらもSlack側で以下のように反応してしまいました。
~あいうえお~
と波線で囲めば打ち消し線に、
*あいうえお*
だと、太字です。
記号は記号としてポストするにはどうしたらいいんでしょうか?
~あいうえお~
と波線で囲めば打ち消し線に、
*あいうえお*
だと、太字です。
記号は記号としてポストするにはどうしたらいいんでしょうか?
740デフォルトの名無しさん
2018/11/06(火) 20:13:57.06ID:B9fQWZZ6 *→ *
~→ ~
~→ ~
741デフォルトの名無しさん
2018/11/06(火) 20:14:48.35ID:B9fQWZZ6 (´Д`lll)&to#は半角でな
*→ &#126;
~→ &#42;
*→ &#126;
~→ &#42;
742724
2018/11/06(火) 20:28:42.52ID:QHiQfJwC >>741
どうもありがとうございます!
試してみます!
今のところ分かったのはこの3つなんですが、記号類をまとめてちゃんと表示する仕組みってありますか?
今ちょっとググってたら
xml.sax.saxutilsのescapeだと<>はエスケープしてくれそうな感じでした。
どうもありがとうございます!
試してみます!
今のところ分かったのはこの3つなんですが、記号類をまとめてちゃんと表示する仕組みってありますか?
今ちょっとググってたら
xml.sax.saxutilsのescapeだと<>はエスケープしてくれそうな感じでした。
743デフォルトの名無しさん
2018/11/06(火) 20:31:38.28ID:0p0MEBcD "mrkdwn": false
744724
2018/11/06(火) 20:32:44.30ID:QHiQfJwC あと、混乱してしまってるんですが、変数textの中にもし<、>、*、~のいずれかが含まれてたら、<、>、&#126;、&#42;に置き換えるには、if文でどう書くんでしょうか?
745724
2018/11/06(火) 20:36:27.93ID:QHiQfJwC 何度もすみません
import xml.sax.saxutils from escape
と
import htmlのhtml.escape
はどう使い分けるんでしょうか?
import xml.sax.saxutils from escape
と
import htmlのhtml.escape
はどう使い分けるんでしょうか?
746デフォルトの名無しさん
2018/11/06(火) 20:51:13.02ID:B9fQWZZ6 >>744
findを使ってtextを検索し、-1よりでかい数が帰ってくるかどうかためす。
if text.find(’<’) > -1 or text.find(’>’) > -1 or....(略)
findを使ってtextを検索し、-1よりでかい数が帰ってくるかどうかためす。
if text.find(’<’) > -1 or text.find(’>’) > -1 or....(略)
747デフォルトの名無しさん
2018/11/06(火) 20:56:52.27ID:B9fQWZZ6 (つづき)
でもってif文のインデントの中に
text=text.replace('before','after').replace('before','after').replace('before','after').replace('before','after')
beforeにはそれぞれ<、>、*、~を入れて
aterには&#42;とかそういうのを書いておく
でもってif文のインデントの中に
text=text.replace('before','after').replace('before','after').replace('before','after').replace('before','after')
beforeにはそれぞれ<、>、*、~を入れて
aterには&#42;とかそういうのを書いておく
748724
2018/11/06(火) 20:58:43.90ID:QHiQfJwC >>746
なるほど!ありがとうございます!
> if text.find(’<’) > -1 or text.find(’>’) > -1 or....(略)
を途中で改行したい場合はどうやるんでしょうか?
バックスラッシュ付けるっぽいんですが、以下だとエラーになります
if text.find(’<’) > -1 or text.find(’>’) > -1 \
or....(略)
なるほど!ありがとうございます!
> if text.find(’<’) > -1 or text.find(’>’) > -1 or....(略)
を途中で改行したい場合はどうやるんでしょうか?
バックスラッシュ付けるっぽいんですが、以下だとエラーになります
if text.find(’<’) > -1 or text.find(’>’) > -1 \
or....(略)
750デフォルトの名無しさん
2018/11/06(火) 21:00:46.35ID:B9fQWZZ6751デフォルトの名無しさん
2018/11/06(火) 21:08:58.42ID:0p0MEBcD 特殊な記号たち
https://api.slack.com/docs/messages/builder?msg=%7B%22text%22%3A%22%60%60%60pre%60%60%60%20*bold*%20%60code%60%20_italic_%20~strike~%22%2C%22username%22%3A%22markdownbot%22%2C%22mrkdwn%22%3Atrue%7D
https://api.slack.com/docs/messages/builder?msg=%7B%22text%22%3A%22%60%60%60pre%60%60%60%20*bold*%20%60code%60%20_italic_%20~strike~%22%2C%22username%22%3A%22markdownbot%22%2C%22mrkdwn%22%3Atrue%7D
752724
2018/11/06(火) 21:12:17.61ID:QHiQfJwC753デフォルトの名無しさん
2018/11/06(火) 21:13:16.40ID:B9fQWZZ6754デフォルトの名無しさん
2018/11/06(火) 21:15:03.75ID:B9fQWZZ6755724
2018/11/06(火) 21:15:09.62ID:QHiQfJwC756724
2018/11/06(火) 21:21:01.58ID:QHiQfJwC757デフォルトの名無しさん
2018/11/06(火) 21:21:04.81ID:B9fQWZZ6 >>753
>pyファイルに書いたのを実行させるときはイラネ
oh
オレ無意識に条件文のif以降を()でくくって最後に:付ける癖があるわ
↓
if (text.find(’<’) > -1 or
text.find(’>’) > -1 or
....(略) ...):
↑
みたいに()でかこってやれば何行にわけてもおk
>pyファイルに書いたのを実行させるときはイラネ
oh
オレ無意識に条件文のif以降を()でくくって最後に:付ける癖があるわ
↓
if (text.find(’<’) > -1 or
text.find(’>’) > -1 or
....(略) ...):
↑
みたいに()でかこってやれば何行にわけてもおk
758724
2018/11/06(火) 21:28:34.65ID:QHiQfJwC759デフォルトの名無しさん
2018/11/06(火) 21:33:57.41ID:B9fQWZZ6 >>758
アッハイ
or は 行の最後に書かずに
先頭にかけやこのデコスケ野郎
っていうエラーすね。
つまり推奨は
if (text.find(’<’) > -1
or text.find(’>’) > -1
or ....(略) ...):
汚いソースコードの書き方しててすみまそん。。。
アッハイ
or は 行の最後に書かずに
先頭にかけやこのデコスケ野郎
っていうエラーすね。
つまり推奨は
if (text.find(’<’) > -1
or text.find(’>’) > -1
or ....(略) ...):
汚いソースコードの書き方しててすみまそん。。。
760デフォルトの名無しさん
2018/11/06(火) 21:37:10.20ID:B9fQWZZ6 詳しい解説は https://github.com/PyCQA/pycodestyle/issues/513 あたりかな
761724
2018/11/06(火) 21:46:50.14ID:QHiQfJwC >>759
いや、ありがとうございます。。。
2行目を or から始めてもW503でした。あと、E129も出でます。
E129は2行目の or を if の i から数えて8文字インデントしたら消えました。
いや、ありがとうございます。。。
2行目を or から始めてもW503でした。あと、E129も出でます。
E129は2行目の or を if の i から数えて8文字インデントしたら消えました。
762デフォルトの名無しさん
2018/11/06(火) 22:02:51.74ID:B9fQWZZ6 >>761
検証してくれるやつのバージョンによって推奨される書き方がちガッ獲るようだ… https://lintlyci.github.io/Flake8Rules/rules/W503.html
今どきはどーするのが一番正しくてグッドなのか、
誰か他の回答者を待とう (´・ω・`)
検証してくれるやつのバージョンによって推奨される書き方がちガッ獲るようだ… https://lintlyci.github.io/Flake8Rules/rules/W503.html
今どきはどーするのが一番正しくてグッドなのか、
誰か他の回答者を待とう (´・ω・`)
763デフォルトの名無しさん
2018/11/07(水) 00:09:47.09ID:kPzZvNDI >>738
beautifulsoupとurllibっす
beautifulsoupとurllibっす
764デフォルトの名無しさん
2018/11/07(水) 00:53:42.51ID:QtFDoqkC765デフォルトの名無しさん
2018/11/07(水) 01:15:28.23ID:+978RLDn >>744
Ruby の、CGI.escapeHTML みたいな、HTML エスケープだろ
Python にも、そういう関数があるはず。
ライブラリを探せ
全言語にある!
Google に「html escape」と入れれば、補完で全言語が出てくる。
php, javascript, java, ruby, python ズラズラっと
そういう一般的な関数を、自作したらダメ。
自作したものは、ライブラリよりも品質が低いから
Ruby の、CGI.escapeHTML みたいな、HTML エスケープだろ
Python にも、そういう関数があるはず。
ライブラリを探せ
全言語にある!
Google に「html escape」と入れれば、補完で全言語が出てくる。
php, javascript, java, ruby, python ズラズラっと
そういう一般的な関数を、自作したらダメ。
自作したものは、ライブラリよりも品質が低いから
766デフォルトの名無しさん
2018/11/07(水) 01:23:13.15ID:mTAgM1WN キチガイ避けには「ruby」でNGワード登録が簡単・便利
767724
2018/11/07(水) 10:31:30.88ID:eBlvm3p7 >>754
from xml.sax.saxutils import escape
text = 'あいうえお'
text = f'~{text}~'
text = escape(text, {'*': '&#42;', '~': '&#126;', '': '', '': ''})
上は実際には半角です。
textをSlackに送信すると、Slackでは、~あいうえお~と表示して欲しいんですが、
&#126;あいうえお&#126;
と、表示されてしまいます。
どこが間違えてますか?
あと、
* を置き換える文字列は&#42;(半角で)のように、
` を置き換える文字列
_ を置き換える文字列
ってどうやって調べたらよいんでしょうか?
>>762
自分のバージョンはPython 3.6.4、flake8 3.6.0でした
from xml.sax.saxutils import escape
text = 'あいうえお'
text = f'~{text}~'
text = escape(text, {'*': '&#42;', '~': '&#126;', '': '', '': ''})
上は実際には半角です。
textをSlackに送信すると、Slackでは、~あいうえお~と表示して欲しいんですが、
&#126;あいうえお&#126;
と、表示されてしまいます。
どこが間違えてますか?
あと、
* を置き換える文字列は&#42;(半角で)のように、
` を置き換える文字列
_ を置き換える文字列
ってどうやって調べたらよいんでしょうか?
>>762
自分のバージョンはPython 3.6.4、flake8 3.6.0でした
768デフォルトの名無しさん
2018/11/07(水) 12:02:53.55ID:gi2gLu8r 最低限↓に目を通してからslackの話を続けて貰えるか?
https://api.slack.com/docs/message-formatting#how_to_escape_characters
https://api.slack.com/docs/message-formatting#how_to_escape_characters
769デフォルトの名無しさん
2018/11/07(水) 13:51:51.54ID:A06G1xNF770デフォルトの名無しさん
2018/11/07(水) 18:19:51.85ID:aDO62va+ https://dotup.org/uploda/dotup.org1686239.png
>>> import numpy as np
>>> from PIL import Image
>>> im = Image.open('dotup.org1686239.png')
>>> np.array(im)
>>> np.array(im)[:,-1::-1,:]
>>> Image.fromarray(np.array(im)[:,-1::-1,:]).save('dotup.org1686239_rev.png')
便利やね
python だぁぃすき
>>> import numpy as np
>>> from PIL import Image
>>> im = Image.open('dotup.org1686239.png')
>>> np.array(im)
>>> np.array(im)[:,-1::-1,:]
>>> Image.fromarray(np.array(im)[:,-1::-1,:]).save('dotup.org1686239_rev.png')
便利やね
python だぁぃすき
771デフォルトの名無しさん
2018/11/07(水) 18:32:37.21ID:fvfWV4IU conveert dotup.org1686239.png -flop dotup.org1686239_rev.png
ImageMagickのが簡単だよ
チンポ だぁいすき
ImageMagickのが簡単だよ
チンポ だぁいすき
772デフォルトの名無しさん
2018/11/08(木) 17:18:54.41ID:vDDK8kog if random.randint(0,1):
step=1
else:
step=-1
この場合のrandom.randintってどういう意味?
乱数で0か1が発生した場合に1、その他の数字のときelseって意味じゃないよね?
よくわからん
step=1
else:
step=-1
この場合のrandom.randintってどういう意味?
乱数で0か1が発生した場合に1、その他の数字のときelseって意味じゃないよね?
よくわからん
773デフォルトの名無しさん
2018/11/08(木) 17:21:04.79ID:/8FytPr/ スクレイピングなんですがjava?でコンテンツが作られている動的なページはSeleniumのようなwebBrowserをさわって値を取るしか無いんでしょうか
vbaで似たようなのを作ったんですが読み込み等が遅く、処理の高速化を考えていたのですがSeleniumだと実現できないでしょうか
vbaで似たようなのを作ったんですが読み込み等が遅く、処理の高速化を考えていたのですがSeleniumだと実現できないでしょうか
774デフォルトの名無しさん
2018/11/08(木) 17:44:25.17ID:AFbSMZjK random.randintで0がでたらfalse
1が出たらtrueじゃない?
1が出たらtrueじゃない?
775デフォルトの名無しさん
2018/11/08(木) 18:13:45.79ID:KFTKKYEO >>774
コード読むとその解釈で合ってると思うけど、そのプロセスが理解できない
randint(a,b)ってa~bの中で整数を生成するんだよね?
randint(0,1)なら0か1のどちらかを生成する
つまりわからん
コード読むとその解釈で合ってると思うけど、そのプロセスが理解できない
randint(a,b)ってa~bの中で整数を生成するんだよね?
randint(0,1)なら0か1のどちらかを生成する
つまりわからん
776デフォルトの名無しさん
2018/11/08(木) 18:30:34.85ID:AFbSMZjK777デフォルトの名無しさん
2018/11/08(木) 18:47:09.00ID:5iWhW6P3778デフォルトの名無しさん
2018/11/08(木) 19:50:06.88ID:KFTKKYEO TrueとFalseがランダムに生成されるんだろ
つまりif節の中にTrueもFalseも入ってることになんね?
つまりif節の中にTrueもFalseも入ってることになんね?
779デフォルトの名無しさん
2018/11/08(木) 19:51:27.62ID:UKor1bXF ならんよ>>778
780デフォルトの名無しさん
2018/11/08(木) 19:54:09.65ID:KFTKKYEO 俺がアホなのか
全くスッキリと理解できないw
全くスッキリと理解できないw
781デフォルトの名無しさん
2018/11/08(木) 20:06:42.76ID:AFbSMZjK if random.choice([True, False])
こう書き換えれば少しはわかりやすいかな
こう書き換えれば少しはわかりやすいかな
782デフォルトの名無しさん
2018/11/08(木) 20:21:32.77ID:KFTKKYEO if random.randint(0,1)==True:
と同じ意味だよね?
これなら簡単に理解できるけど、==Trueがなくても文法として成立するのがよくわからない
と同じ意味だよね?
これなら簡単に理解できるけど、==Trueがなくても文法として成立するのがよくわからない
783デフォルトの名無しさん
2018/11/08(木) 20:23:05.84ID:UKor1bXF 暗黙の了解で省略されてるだけ
英語の関係代名詞的なさむしん
英語の関係代名詞的なさむしん
784デフォルトの名無しさん
2018/11/08(木) 20:30:18.68ID:KFTKKYEO785デフォルトの名無しさん
2018/11/08(木) 20:32:58.15ID:UKor1bXF もう忘れないだろうから
悩んだことはむだではない
タブンネ
悩んだことはむだではない
タブンネ
786デフォルトの名無しさん
2018/11/08(木) 21:02:16.60ID:dNW1RU/q 主流言語はみんなそんな感じなんだけどPythonは比較演算子強制でも良かった気もしないでもない。
でも、
bool値を返すisBigメソッドを実装したクラスChinkoがあったとして…
myChinko = new Chinko(16)
if myChinko.isBig():
と自然な英文風に書けるというスゴイ利点もある!
ちなみに12以下だとFalseを返します
でも、
bool値を返すisBigメソッドを実装したクラスChinkoがあったとして…
myChinko = new Chinko(16)
if myChinko.isBig():
と自然な英文風に書けるというスゴイ利点もある!
ちなみに12以下だとFalseを返します
787デフォルトの名無しさん
2018/11/08(木) 21:03:49.60ID:JRn9O86F >>778
1とTrue、0とFalseを同一として認識するのは明らかに間違っている
1とTrue、0とFalseを同一として認識するのは明らかに間違っている
788デフォルトの名無しさん
2018/11/08(木) 21:04:47.54ID:j6Jh7/pK 自然言語風に書けるのはデメリットやぞ
789デフォルトの名無しさん
2018/11/08(木) 21:15:17.71ID:dNW1RU/q 冗談やで。俺は比較演算強制がよかった
790デフォルトの名無しさん
2018/11/08(木) 21:16:04.42ID:fqxKHZms ネェ、チンコダッテ?( ´д)オクサン(д` )アラヤダワァ
791デフォルトの名無しさん
2018/11/08(木) 21:53:09.37ID:QbjXdk8c >>782
==trueとか言うゴミコード書くなよ
==trueとか言うゴミコード書くなよ
792デフォルトの名無しさん
2018/11/08(木) 22:07:08.42ID:j6Jh7/pK ゴミって些末な事ばかり気にしてゴミコードってゆうよねw
793デフォルトの名無しさん
2018/11/08(木) 22:09:00.10ID:Sh+rXr23 言うをゆうって書く人は初等教育を受けてるのかしら
794デフォルトの名無しさん
2018/11/08(木) 22:14:43.87ID:j6Jh7/pK 言うはゆうて読むんやで
795デフォルトの名無しさん
2018/11/08(木) 22:24:11.22ID:lbifDjkh 誰も読み方について話してないぞ。相当な馬鹿だな
796デフォルトの名無しさん
2018/11/08(木) 22:30:06.41ID:j6Jh7/pK バカのくせに人の事バカってゆうの恥ずかしいよバカw
797デフォルトの名無しさん
2018/11/08(木) 22:32:56.23ID:KFTKKYEO ちなみにこういう省略って他にどんなのある?
他の文法で省略あったらまた騙されるなー
他の文法で省略あったらまた騙されるなー
798デフォルトの名無しさん
2018/11/08(木) 22:53:42.09ID:PhR3Qfyw perlはエゲツナイぞー
799デフォルトの名無しさん
2018/11/08(木) 23:07:43.11ID:QbjXdk8c ==Trueが必要だと思う奴はその戻り値に対しても==Trueしとけw
800デフォルトの名無しさん
2018/11/08(木) 23:17:51.55ID:yMIHOz65 the reason why ~ みたいなもんだな
801デフォルトの名無しさん
2018/11/08(木) 23:20:05.30ID:QHwNiY6E >>773
5ch みたいな動的または、ajax などの非同期処理で、ページの内容を取得しているものは、
その内容が読み込まれるまで、その要素や内容は存在しない
5ch なら、まず空のHTML を送ってくるから、ajax で読み込まれるまで、内容が存在しない
漏れはRuby で、Selenium WebDriver を使って読み込んでいる。
その要素が出現するまで、wait される。
簡単なのは10秒ぐらい、sleep すればよい
5ch なんか、バグが多いから、JavaScript が無限ループしたりして、
30秒待っても、Selenium WebDriverから、そのページへアタッチ出来ないこともある
5ch みたいな動的または、ajax などの非同期処理で、ページの内容を取得しているものは、
その内容が読み込まれるまで、その要素や内容は存在しない
5ch なら、まず空のHTML を送ってくるから、ajax で読み込まれるまで、内容が存在しない
漏れはRuby で、Selenium WebDriver を使って読み込んでいる。
その要素が出現するまで、wait される。
簡単なのは10秒ぐらい、sleep すればよい
5ch なんか、バグが多いから、JavaScript が無限ループしたりして、
30秒待っても、Selenium WebDriverから、そのページへアタッチ出来ないこともある
802デフォルトの名無しさん
2018/11/08(木) 23:22:35.59ID:a5prroZo 「Ruby」でNGワード登録が簡単・便利
803デフォルトの名無しさん
2018/11/08(木) 23:44:41.94ID:mrd9U+a3 50%の確率で2つの処理を選択したい場合によりスマートな書き方はありますか?今はべたべたにこう書いてます
if np.random.rand() > .5:
do1()
else:
do2()
if np.random.rand() > .5:
do1()
else:
do2()
804デフォルトの名無しさん
2018/11/09(金) 02:19:40.37ID:19dRG8QF (do1 if np.random.rand() > .5 else do2)()
805デフォルトの名無しさん
2018/11/09(金) 04:00:11.42ID:bq31MDXV すごい!そんな書き方があるのですね。
よければ何という記述方法か教えてもらえますか?(どうやって調べたら出ますか)
よければ何という記述方法か教えてもらえますか?(どうやって調べたら出ますか)
806デフォルトの名無しさん
2018/11/09(金) 04:18:51.46ID:Je0vwCJT np使う理由はあるの?
807デフォルトの名無しさん
2018/11/09(金) 08:30:00.34ID:0hfWLYYN pycharmでshadows name xxx from outer scopeっていうwarningが出るんだけど、これは何が問題なんや
808デフォルトの名無しさん
2018/11/09(金) 09:42:26.78ID:VXODTqLC 同じ名前の変数が定義されたことで
外のスコープの変数が隠されている
という警告
外のスコープの変数が隠されている
という警告
809デフォルトの名無しさん
2018/11/09(金) 09:43:04.08ID:VXODTqLC Warningに書いてある通りだな
810デフォルトの名無しさん
2018/11/09(金) 10:18:23.10ID:19dRG8QF811デフォルトの名無しさん
2018/11/09(金) 11:58:21.04ID:p9aTnaT/ ちょうど1/2の確率が欲しいとき
if random.rand(0, 1) > .5:
が正解?
それとも
if random.rand(0, 1) >= .5:
が正解?
どっちも間違い?
if random.rand(0, 1) > .5:
が正解?
それとも
if random.rand(0, 1) >= .5:
が正解?
どっちも間違い?
812デフォルトの名無しさん
2018/11/09(金) 12:04:45.46ID:mwKVhTqG どっちも間違い
だが少なくとも
random.rand() > .5
では偏りが生じる
だが少なくとも
random.rand() > .5
では偏りが生じる
813デフォルトの名無しさん
2018/11/09(金) 12:40:54.60ID:0q7AG6jo >>811
0×1の配列?
0×1の配列?
814デフォルトの名無しさん
2018/11/09(金) 12:41:31.35ID:ZavMgXDP Openpyxlでエクセルシートをリスト化した後
シート名を条件に抽出することはできますか?
すみません、調べてもわかりませんでした。
シート名を条件に抽出することはできますか?
すみません、調べてもわかりませんでした。
815デフォルトの名無しさん
2018/11/09(金) 13:11:43.28ID:XhL65g6u >>811俺だったらこうする
if random.randrange(2):
「一定回数抽選すると、AとBの出現率が必ず1:1になる」ことを求めているならシャッフルを使う
a=[0]*50+[1]*50
random.shuffle(a)
if random.randrange(2):
「一定回数抽選すると、AとBの出現率が必ず1:1になる」ことを求めているならシャッフルを使う
a=[0]*50+[1]*50
random.shuffle(a)
816デフォルトの名無しさん
2018/11/09(金) 13:44:15.88ID:lOOqdq/Y deapのbase.Fitnssでweightsの動き方がよくわからないんですが
仕様を説明したサイトはありますか?
仕様を説明したサイトはありますか?
817デフォルトの名無しさん
2018/11/09(金) 13:47:08.53ID:iep8j/69818デフォルトの名無しさん
2018/11/09(金) 13:49:25.70ID:iep8j/69819デフォルトの名無しさん
2018/11/09(金) 14:27:01.20ID:D1KL18mO python2.7 pandasのto_csvでの出力、文字コードについてです
utf8のdfがありコレをsjis(sjisで表現出来ない文字は無視や?置き換えで良い)にしてcsvにしたいです
調べると
with codecs.openでencoding='cp932' errors='ignore'で出力ファイルを開き
df.to_csv(ファイルオブジェクト, encoding='cp932')
で出来ると書いてあったのですが普通にUnicodeエラー出ます
何が原因でうまくいかないんでしょうか、また他の解決法なにかありませんかね
utf8のdfがありコレをsjis(sjisで表現出来ない文字は無視や?置き換えで良い)にしてcsvにしたいです
調べると
with codecs.openでencoding='cp932' errors='ignore'で出力ファイルを開き
df.to_csv(ファイルオブジェクト, encoding='cp932')
で出来ると書いてあったのですが普通にUnicodeエラー出ます
何が原因でうまくいかないんでしょうか、また他の解決法なにかありませんかね
820デフォルトの名無しさん
2018/11/09(金) 15:23:15.00ID:iep8j/69821デフォルトの名無しさん
2018/11/09(金) 16:18:25.51ID:aAkZVDrn PythonがWEBで覇権取れば最強のスクリプト言語になるのにな
Djangoとかいうゴミはいいから早くRailsとかLaravel並みにいいフレームワーク作ってくんね?
Djangoとかいうゴミはいいから早くRailsとかLaravel並みにいいフレームワーク作ってくんね?
822デフォルトの名無しさん
2018/11/09(金) 17:36:50.37ID:rwK1ciOK GoogleってWEB開発にPython使ってるらしいけどフレームワークはDjangoなのかな?
社内で別のフレームワーク使ってんだったら公開してほしいな
社内で別のフレームワーク使ってんだったら公開してほしいな
823デフォルトの名無しさん
2018/11/09(金) 19:22:48.23ID:lOOqdq/Y >>818
それは読んだんですが多目的最適化で10倍や100倍に設定したら具体的にどう評価を変えているのかが書いていなかったので
それは読んだんですが多目的最適化で10倍や100倍に設定したら具体的にどう評価を変えているのかが書いていなかったので
824デフォルトの名無しさん
2018/11/09(金) 19:31:33.70ID:iep8j/69 >>823
weights って重み付けだから、
いっぱいのときも逐一自分で指定するもんじゃないの
>多目的最適化で10倍や100倍に設定したら具体的にどう評価を変えているのか
俺にはちょっとなにいってるのかよくわかんない(´・ω・`)
各重みの最適値さがしなら
プロジェクト・しらみつぶし が たぶん一番いい・・・
weights って重み付けだから、
いっぱいのときも逐一自分で指定するもんじゃないの
>多目的最適化で10倍や100倍に設定したら具体的にどう評価を変えているのか
俺にはちょっとなにいってるのかよくわかんない(´・ω・`)
各重みの最適値さがしなら
プロジェクト・しらみつぶし が たぶん一番いい・・・
825デフォルトの名無しさん
2018/11/10(土) 12:15:02.20ID:seRmY1tJ https://stackoverflow.com/questions/42866743/lambda-function-explanation/42867119
repeating_data = reduce(lambda l, x:
l.append(x) or l if x not in l else l,
columns['Hello'], [])
Columns["Hello"] has [1,1,2,3,4,5,6,6,7,8,9,9,10,0]
このlambda式のl.appned(x) or lの"or l"と
if x nor in l else lの"else l"がよくわからないんですが、
つけないとエラーになるので必要なのでしょうが、どのような意味なのでしょうか?
repeating_data = reduce(lambda l, x:
l.append(x) or l if x not in l else l,
columns['Hello'], [])
Columns["Hello"] has [1,1,2,3,4,5,6,6,7,8,9,9,10,0]
このlambda式のl.appned(x) or lの"or l"と
if x nor in l else lの"else l"がよくわからないんですが、
つけないとエラーになるので必要なのでしょうが、どのような意味なのでしょうか?
826825
2018/11/10(土) 12:26:13.87ID:seRmY1tJ 質問ばかりで申し訳ないのですが、なぜこの式でreduceを使っているのかもよくわかりません。
reduceでぐぐるとすべて畳み込んで計算すると書いてあるところが多いのですが、関数がl.append(x) or lなので違うのでしょうか?
reduceでぐぐるとすべて畳み込んで計算すると書いてあるところが多いのですが、関数がl.append(x) or lなので違うのでしょうか?
827デフォルトの名無しさん
2018/11/10(土) 13:07:05.83ID:u9Es1usX >>825-826
条件式(他言語のいわゆる三項演算子や条件演算子と呼ばれる物の代替)
https://docs.python.org/ja/3/reference/expressions.html#conditional-expressions
そしてlist.appendの戻り値はNoneなので常にorの右辺が評価され返される
つまり新しいリストに含まれていなければ追加し、さもなければそのまま
あとは先方のレスにもset使えと書かれてると思うけど。reduceの動作は以下
https://docs.python.org/ja/3/library/functools.html#functools.reduce
条件式(他言語のいわゆる三項演算子や条件演算子と呼ばれる物の代替)
https://docs.python.org/ja/3/reference/expressions.html#conditional-expressions
そしてlist.appendの戻り値はNoneなので常にorの右辺が評価され返される
つまり新しいリストに含まれていなければ追加し、さもなければそのまま
あとは先方のレスにもset使えと書かれてると思うけど。reduceの動作は以下
https://docs.python.org/ja/3/library/functools.html#functools.reduce
828826
2018/11/10(土) 13:46:44.78ID:seRmY1tJ829826
2018/11/10(土) 15:23:32.40ID:seRmY1tJ if x not in l else lの"else l"を省略すると
SyntaxError: invalid syntax
が出るんですが、通常のif文の場合はelse以下がなくても問題ないと思うのですが、
なぜこの場合はだめなのでしょうか?
SyntaxError: invalid syntax
が出るんですが、通常のif文の場合はelse以下がなくても問題ないと思うのですが、
なぜこの場合はだめなのでしょうか?
830デフォルトの名無しさん
2018/11/10(土) 15:39:38.87ID:hLxIIZfE831デフォルトの名無しさん
2018/11/10(土) 15:48:08.55ID:seRmY1tJ >>830
else lのlをNoneにしてみたら、
TypeError: argument of type 'NoneType' is not iterable
とでてしまいました。
でもなんとなく前よりはこの式がわかったような気がします。
どうもレスありがとうございました。
else lのlをNoneにしてみたら、
TypeError: argument of type 'NoneType' is not iterable
とでてしまいました。
でもなんとなく前よりはこの式がわかったような気がします。
どうもレスありがとうございました。
832デフォルトの名無しさん
2018/11/10(土) 17:30:59.29ID:16GnFLu/833デフォルトの名無しさん
2018/11/10(土) 18:12:02.74ID:hLxIIZfE >>825
そもそもこのラムダ式がちょっとトリッキーなんだよね
lambda l, x: l.append(x) or l if x not in l else l
俺なら
def f(l,x):
__if x not in l:
____l.append(x)
__return l
を定義して
repeating_data = reduce(f, columns['Hello'], [])
ってやると思う
そもそもこのラムダ式がちょっとトリッキーなんだよね
lambda l, x: l.append(x) or l if x not in l else l
俺なら
def f(l,x):
__if x not in l:
____l.append(x)
__return l
を定義して
repeating_data = reduce(f, columns['Hello'], [])
ってやると思う
834デフォルトの名無しさん
2018/11/10(土) 18:14:37.23ID:GvdPZ72d >>831
lをNoneにするってのは830の間違い
lをNoneにするってのは830の間違い
835デフォルトの名無しさん
2018/11/10(土) 18:59:26.03ID:8RKiULCU836デフォルトの名無しさん
2018/11/10(土) 19:30:23.53ID:hLxIIZfE >>835
もっと用途限定だけどC#のnull条件演算子が近いかな
もっと用途限定だけどC#のnull条件演算子が近いかな
837デフォルトの名無しさん
2018/11/10(土) 19:41:48.00ID:LcpJu9SU >>836
用途限定どころか目的からして完全に別物
用途限定どころか目的からして完全に別物
838デフォルトの名無しさん
2018/11/10(土) 20:21:45.94ID:hLxIIZfE はいはい w
839デフォルトの名無しさん
2018/11/10(土) 20:55:57.38ID:2vwbQ9QW 恥ずかしい奴だな
840デフォルトの名無しさん
2018/11/10(土) 21:43:36.94ID:Kjka4QLz841デフォルトの名無しさん
2018/11/10(土) 21:48:48.39ID:zCsM6it1 理解できないお前のことだなww
842デフォルトの名無しさん
2018/11/10(土) 21:52:55.81ID:hLxIIZfE843デフォルトの名無しさん
2018/11/10(土) 21:55:57.70ID:nSd/jMeD Nane「私のためにケンカしないで!!」
844デフォルトの名無しさん
2018/11/10(土) 22:00:38.04ID:jxhvzDRc >>843
誰だお前は
誰だお前は
845デフォルトの名無しさん
2018/11/10(土) 22:04:59.17ID:4gO6mVIc >>844
ウンコ「おならです」
ウンコ「おならです」
846デフォルトの名無しさん
2018/11/10(土) 22:06:25.70ID:hPdKPv7V 肛門「よし通れ!」
847デフォルトの名無しさん
2018/11/10(土) 22:10:53.93ID:aFLDlH5i くだすれ貫禄のくだらなさで不覚にも吹いた
848デフォルトの名無しさん
2018/11/10(土) 22:11:20.00ID:7gTt1pZ+ まだまだ
849デフォルトの名無しさん
2018/11/10(土) 22:19:58.98ID:WPq8ZeKj 判定を失敗すると恐ろしいことになるんだなあ…
850デフォルトの名無しさん
2018/11/10(土) 22:55:34.73ID:jXgJ1KMY 早まってnull条件演算子とかエルビス演算子って言わなくて良かったわ
851デフォルトの名無しさん
2018/11/10(土) 23:22:42.45ID:sSiPAoa8852デフォルトの名無しさん
2018/11/10(土) 23:50:26.34ID:hLxIIZfE853デフォルトの名無しさん
2018/11/11(日) 08:48:46.33ID:rNrNUiDF 真っ赤っかですな
単芝も紅葉するんだ
単芝も紅葉するんだ
854デフォルトの名無しさん
2018/11/11(日) 08:57:40.67ID:cKV3qXJe 低能先生は低能連呼から最終的に殺人に走ったので気をつけてね。
855デフォルトの名無しさん
2018/11/11(日) 10:16:25.06ID:3JRsWB+V >>854
ソースよろしくww
ソースよろしくww
856デフォルトの名無しさん
2018/11/11(日) 10:30:49.61ID:ZIQY97Xr ttps://ja.wikipedia.org/wiki/%E7%A6%8F%E5%B2%A1IT%E8%AC%9B%E5%B8%AB%E6%AE%BA%E5%AE%B3%E4%BA%8B%E4%BB%B6
857デフォルトの名無しさん
2018/11/11(日) 11:34:11.51ID:LFgZgESJ858デフォルトの名無しさん
2018/11/11(日) 12:06:11.66ID:uw9PiA4L この自己愛
同種だな
同種だな
859デフォルトの名無しさん
2018/11/11(日) 13:13:23.27ID:3JRsWB+V 謎の一体感w
一般人には理解不能
一般人には理解不能
860デフォルトの名無しさん
2018/11/11(日) 13:36:01.34ID:96wp+TZd >>828
まさか普段ruby使ってる?
まさか普段ruby使ってる?
861デフォルトの名無しさん
2018/11/11(日) 14:18:08.94ID:SClia95W ルビバレする用語:
破壊的・非破壊的
クラスメソッド
特異メソッド
破壊的・非破壊的
クラスメソッド
特異メソッド
862デフォルトの名無しさん
2018/11/11(日) 16:41:23.18ID:kuiXddTN ファイルに定義されている関数名を知る方法ありますか?
関数名だけです。
関数名だけです。
863デフォルトの名無しさん
2018/11/11(日) 17:56:29.41ID:96wp+TZd globals()
locals()
locals()
864デフォルトの名無しさん
2018/11/11(日) 23:32:22.24ID:ARqR0CiK >>828
Ruby ではメソッド名に、! がつく、破壊的メソッドが、nil を返すことがある。
破壊的メソッドとは、レシーバ自身を変更するもの
line.chomp! # 末尾の改行を削除する
line.empty? # 空行かどうか?
chomp! は、末尾に改行が無くて、削除しなかった場合に、nil を返す
line.chomp!.empty?
上記のようにメソッドチェーンすると、nil から、empty? メソッドを呼び出そうとして、
エラーになるから、メソッドチェーンできない
ただし、最近のバージョンでは、nil 許容演算子が追加されて、
メソッドチェーンしてもエラーが起きなくなった
jQuery では、メソッドチェーンしてもエラーが起きない
Ruby ではメソッド名に、! がつく、破壊的メソッドが、nil を返すことがある。
破壊的メソッドとは、レシーバ自身を変更するもの
line.chomp! # 末尾の改行を削除する
line.empty? # 空行かどうか?
chomp! は、末尾に改行が無くて、削除しなかった場合に、nil を返す
line.chomp!.empty?
上記のようにメソッドチェーンすると、nil から、empty? メソッドを呼び出そうとして、
エラーになるから、メソッドチェーンできない
ただし、最近のバージョンでは、nil 許容演算子が追加されて、
メソッドチェーンしてもエラーが起きなくなった
jQuery では、メソッドチェーンしてもエラーが起きない
865デフォルトの名無しさん
2018/11/12(月) 01:26:40.44ID:BcZUmovG 「Ruby」をNGワード登録するのが簡単・便利
866デフォルトの名無しさん
2018/11/12(月) 21:09:17.74ID:XFjJOyuw pd.read_html(url)で読み込んだテーブルのある列をtable.sort(by= )でソートしたんだけどその結果が
0
1
2
3
4
1
2
3
みたいに微妙な並び替えになっちゃうのはデータにどんな原因があるの?
0
1
2
3
4
1
2
3
みたいに微妙な並び替えになっちゃうのはデータにどんな原因があるの?
867デフォルトの名無しさん
2018/11/12(月) 22:43:29.16ID:ku9n7fSu #シート名取得
all_sh = book.sheetnames
#シート名が「ss」で終わるものを抽出
all_sh_ss = [s for s in all_sh if s.endswith('ss')]
print(all_sh_ss)
・・この後、シート名が「ss」で終わるシートだけから
特定セルA1の値を抽出したいんですが・・・行き詰まりました。
わかる方いたらご助言をお願いします。
all_sh = book.sheetnames
#シート名が「ss」で終わるものを抽出
all_sh_ss = [s for s in all_sh if s.endswith('ss')]
print(all_sh_ss)
・・この後、シート名が「ss」で終わるシートだけから
特定セルA1の値を抽出したいんですが・・・行き詰まりました。
わかる方いたらご助言をお願いします。
868デフォルトの名無しさん
2018/11/12(月) 23:10:34.73ID:JEwLf6Zk >>867
じゃあ次はその抽出した文字列のリストでWorksheetオブジェクトを取得してみようか
じゃあ次はその抽出した文字列のリストでWorksheetオブジェクトを取得してみようか
869デフォルトの名無しさん
2018/11/12(月) 23:21:23.98ID:JEwLf6Zk870デフォルトの名無しさん
2018/11/13(火) 11:11:30.00ID:dBAvKT8b 829さんじゃありませんが、横レスで関連する質問があります。
https://stackoverflow.com/questions/38417677/why-am-i-getting-a-syntax-error-for-this-conditional-statement
You're getting the SyntaxError because you're using a conditional expression without supplying the else clause which is mandatory.
The grammar for conditional expressions (i.e if statements in an expression form) always includes an else clause:
と書かれていますが、lambda文以外の普通のif statementsの場合、elseがなくても問題がない場合が多々あると思うのですが、
なぜ>>829の例がやこのリンク先の例だとelse以下がないとだめなのでしょうか?
https://stackoverflow.com/questions/38417677/why-am-i-getting-a-syntax-error-for-this-conditional-statement
You're getting the SyntaxError because you're using a conditional expression without supplying the else clause which is mandatory.
The grammar for conditional expressions (i.e if statements in an expression form) always includes an else clause:
と書かれていますが、lambda文以外の普通のif statementsの場合、elseがなくても問題がない場合が多々あると思うのですが、
なぜ>>829の例がやこのリンク先の例だとelse以下がないとだめなのでしょうか?
871デフォルトの名無しさん
2018/11/13(火) 11:16:50.29ID:ULH3fPUf >>870
散々出てるがif文じゃなくて条件式だから
散々出てるがif文じゃなくて条件式だから
872870
2018/11/13(火) 11:17:02.91ID:dBAvKT8b 大事なこと書き忘れました。
リンク先読むとこのスレでも指摘されているように三項演算子なのでelseが必要とのことですが、
普通のif文と三項演算子ってどう区別すれば良いのですか?
リンク先読むとこのスレでも指摘されているように三項演算子なのでelseが必要とのことですが、
普通のif文と三項演算子ってどう区別すれば良いのですか?
873870
2018/11/13(火) 11:42:02.89ID:dBAvKT8b >>871
どうも失礼しました。公式ページ見たらやっとわかりました。
https://docs.python.org/ja/3/reference/compound_stmts.html#if
if文
https://docs.python.org/ja/3/reference/expressions.html#index-83
条件式
って明確に区別されてるみたいですね。
判別するにはif文の最後に":"があるかないかで判定するのでしょうか?
どうも失礼しました。公式ページ見たらやっとわかりました。
https://docs.python.org/ja/3/reference/compound_stmts.html#if
if文
https://docs.python.org/ja/3/reference/expressions.html#index-83
条件式
って明確に区別されてるみたいですね。
判別するにはif文の最後に":"があるかないかで判定するのでしょうか?
874デフォルトの名無しさん
2018/11/13(火) 11:49:03.16ID:dBAvKT8b https://realpython.com/python-conditional-statements/#conditional-expressions
ここにif文と条件式の区別について詳しく書いてありました。これで疑問が氷解しました。
どうもくだらない投稿してすみませんでした。
ここにif文と条件式の区別について詳しく書いてありました。これで疑問が氷解しました。
どうもくだらない投稿してすみませんでした。
875デフォルトの名無しさん
2018/11/13(火) 12:11:42.35ID:p27/Ddjo876デフォルトの名無しさん
2018/11/13(火) 12:36:07.85ID:X1xMRsix ワンライナー()のために、処理を行うかの切り替えに条件式を悪用してるだけだからすこぶる行儀悪いわな
878デフォルトの名無しさん
2018/11/13(火) 18:24:15.89ID:90McxFB4 さすがくだすれ
879デフォルトの名無しさん
2018/11/14(水) 08:37:42.04ID:7XHx6tPI 本当に初歩的な質問で申し訳ないのですが
Openpyxlで読み込んだファイル名を出力することはできますか?
シート名、セル値はわかるのですが、ファイル名のやり方がわからなくて、、
Openpyxlで読み込んだファイル名を出力することはできますか?
シート名、セル値はわかるのですが、ファイル名のやり方がわからなくて、、
880デフォルトの名無しさん
2018/11/14(水) 08:56:30.82ID:1aZXQx3x >>879
ファイル名のわからないファイルをどうやって読み込んでいるの?
ファイル名のわからないファイルをどうやって読み込んでいるの?
881デフォルトの名無しさん
2018/11/14(水) 09:08:29.36ID:7XHx6tPI882デフォルトの名無しさん
2018/11/14(水) 09:08:38.14ID:yrvGShGp 念力
883デフォルトの名無しさん
2018/11/14(水) 09:22:21.28ID:1aZXQx3x >>881
Openpyxlは触った事ないけど、
調べた感じでは基本は↓でできるんじゃないの?
sheet = openpyxl.Workbook().active
sheet['A1'] = ‘ファイル名’
Openpyxlは触った事ないけど、
調べた感じでは基本は↓でできるんじゃないの?
sheet = openpyxl.Workbook().active
sheet['A1'] = ‘ファイル名’
884デフォルトの名無しさん
2018/11/14(水) 23:27:59.57ID:2v/yZNsE ドキュメントのsubprocessのところをみると
似たような機能で
getoutput レガシーなシェル呼び出し関数
check_output 古い高水準 API
os.systemよりsubprocessを推奨
となっていて基本runが推奨で
他は使わないほうがいいとかあるんですか?
例えばいずれなくなるからとか。
それとも単にお勧めというだけなのか?
その辺の読み解き方がよくわからないです。
似たような機能で
getoutput レガシーなシェル呼び出し関数
check_output 古い高水準 API
os.systemよりsubprocessを推奨
となっていて基本runが推奨で
他は使わないほうがいいとかあるんですか?
例えばいずれなくなるからとか。
それとも単にお勧めというだけなのか?
その辺の読み解き方がよくわからないです。
885デフォルトの名無しさん
2018/11/15(木) 00:01:12.02ID:biHRXo8w 安心が欲しいのなら推奨API以外を使うべきではない
886デフォルトの名無しさん
2018/11/15(木) 00:06:22.84ID:biHRXo8w まあこれは一般論で
os.systemが廃止されることはないと思うし
これまでの経験からしてDeprecatedとマークされてから2バージョンくらい移行期間があるから
仮に無くなるとしても3年くらいは大丈夫だろう
その前にプログラミングに飽きている可能性の方が高い
os.systemが廃止されることはないと思うし
これまでの経験からしてDeprecatedとマークされてから2バージョンくらい移行期間があるから
仮に無くなるとしても3年くらいは大丈夫だろう
その前にプログラミングに飽きている可能性の方が高い
887デフォルトの名無しさん
2018/11/15(木) 00:52:47.72ID:1MY0pWfp >>886
ありがとうございました!
ありがとうございました!
888デフォルトの名無しさん
2018/11/15(木) 13:46:36.75ID:djL3d80k pythonでgui アプリ作るには、tkinterってやつでいいんでしょうか
そもそも作れますか?
そもそも作れますか?
889デフォルトの名無しさん
2018/11/15(木) 14:04:46.04ID:MeEMSEca Qtとかwxpythonとかほかにもあるでよ
できるよ
できるよ
890デフォルトの名無しさん
2018/11/15(木) 17:29:06.18ID:djL3d80k ありがとー
3dとかも扱えますかね?
3dとかも扱えますかね?
891デフォルトの名無しさん
2018/11/15(木) 18:07:36.78ID:/yCJioVE892デフォルトの名無しさん
2018/11/15(木) 18:40:25.34ID:n3jFLh1o 完璧というからには、GPU支援とかも完璧なんだろうな。
893デフォルトの名無しさん
2018/11/15(木) 19:15:13.23ID:MeEMSEca >>892
あるぉ
あるぉ
894デフォルトの名無しさん
2018/11/15(木) 19:44:19.96ID:djL3d80k -m tkinter
でtkinterのバージョンを確認できるそうですが、chdirしないとだめなんでしょうか
デフォルトの場所だとinvalid syntaxエラーになります
でtkinterのバージョンを確認できるそうですが、chdirしないとだめなんでしょうか
デフォルトの場所だとinvalid syntaxエラーになります
895デフォルトの名無しさん
2018/11/15(木) 20:08:14.97ID:MeEMSEca896デフォルトの名無しさん
2018/11/16(金) 17:42:33.52ID:IxhrRMJp ↑ありがとうございました
897デフォルトの名無しさん
2018/11/16(金) 17:42:49.00ID:IxhrRMJp idleだけで開発できますか?
不十分な点ってどこでしょうか
不十分な点ってどこでしょうか
898デフォルトの名無しさん
2018/11/16(金) 17:43:28.31ID:IxhrRMJp あと、どういった環境使ってるか教えてください
pycharmというのはおもすぎてきつかったです
とりあえずatomにpython入れてやってます
pycharmというのはおもすぎてきつかったです
とりあえずatomにpython入れてやってます
899デフォルトの名無しさん
2018/11/16(金) 19:30:29.81ID:no85NK4X 起動時間はpycharmの方が掛かるけど、
起動後はatomとかvscodeの方が描画周りとかまったりしてて重いと感じる。
拡張機能もたくさん入れることになるし。
起動後はatomとかvscodeの方が描画周りとかまったりしてて重いと感じる。
拡張機能もたくさん入れることになるし。
900デフォルトの名無しさん
2018/11/16(金) 19:55:41.74ID:IxhrRMJp とりあえずidleでやってきます(´・ω
901デフォルトの名無しさん
2018/11/16(金) 20:10:36.27ID:arJZkCZY おれidleだけでgui開発やってるよ
902デフォルトの名無しさん
2018/11/16(金) 20:15:48.44ID:IxhrRMJp tkinterってリファレンスないんすか(´;ω
公式がないですがすでに
公式がないですがすでに
903デフォルトの名無しさん
2018/11/16(金) 20:23:20.55ID:arJZkCZY ttps://docs.python.org/ja/3/library/tkinter.html
904デフォルトの名無しさん
2018/11/17(土) 09:50:58.58ID:eS8uuMhZ pythonとopneglでblenderみたいなソフト作れますか
植物を自動生成したいだけですが
植物を自動生成したいだけですが
905デフォルトの名無しさん
2018/11/17(土) 10:03:17.92ID:FOsw7ObJ ソフトを作らなくてもblenderがpythonに対応している。
906デフォルトの名無しさん
2018/11/17(土) 10:20:48.12ID:eS8uuMhZ それはそうなんですが、勉強として
907デフォルトの名無しさん
2018/11/17(土) 11:01:18.90ID:B4GISbTr908デフォルトの名無しさん
2018/11/17(土) 12:26:38.54ID:z9owpr8+ >>522 ぺちぷ
<?php
function solve(int $n):int{
$a=0;
for($i=5;$i<=$n;$i*=5)$a+=intdiv($n,$i);
return $a;
}
foreach([1,5,10,1e2,1e6,1e16] as $i)printf("%d -> %d\n",$i,solve($i));
?>
1 -> 0
5 -> 1
10 -> 2
100 -> 24
1000000 -> 249998
10000000000000000 -> 2499999999999996
<?php
function solve(int $n):int{
$a=0;
for($i=5;$i<=$n;$i*=5)$a+=intdiv($n,$i);
return $a;
}
foreach([1,5,10,1e2,1e6,1e16] as $i)printf("%d -> %d\n",$i,solve($i));
?>
1 -> 0
5 -> 1
10 -> 2
100 -> 24
1000000 -> 249998
10000000000000000 -> 2499999999999996
909デフォルトの名無しさん
2018/11/17(土) 12:27:25.80ID:z9owpr8+ 誤爆すまん
910デフォルトの名無しさん
2018/11/17(土) 12:52:15.90ID:+Lh4qwu/ https://hoge.com/3/1330.jpg
https://hoge.com/3/1622.jpg
1330から1622までの連番の作り方教えて欲しいです
https://hoge.com/3/1330.jpg
https://hoge.com/4/5.jpg
もし、2000を超えたら一つ上の階層に1を足してjpgはまた0から数えたいです
やり方教えて下さい!
https://hoge.com/3/1622.jpg
1330から1622までの連番の作り方教えて欲しいです
https://hoge.com/3/1330.jpg
https://hoge.com/4/5.jpg
もし、2000を超えたら一つ上の階層に1を足してjpgはまた0から数えたいです
やり方教えて下さい!
911デフォルトの名無しさん
2018/11/17(土) 14:26:54.02ID:xcAZYE+8912デフォルトの名無しさん
2018/11/17(土) 16:36:18.08ID:Y/z/VfN+ もやはサイバーテロだな
913デフォルトの名無しさん
2018/11/17(土) 19:28:23.67ID:eQWBxdMf おまえは存在がリアルテロやんw
914デフォルトの名無しさん
2018/11/18(日) 00:50:16.86ID:mGYzq3D+ python2.7 ubuntu utf-8
requests使ってpostするんですけど
response.text.encode('utf-8')が文字化けします。
post先のページもutf-8なので文字化けする理由がわからなくて困ってます。
他の原因が考えられるでしょうか?
requests使ってpostするんですけど
response.text.encode('utf-8')が文字化けします。
post先のページもutf-8なので文字化けする理由がわからなくて困ってます。
他の原因が考えられるでしょうか?
915デフォルトの名無しさん
2018/11/18(日) 00:52:09.78ID:RRVp+pUX は?他でない原因はなんやwww
おまえなんも原因の推測しとらんやんけwwwww
おまえなんも原因の推測しとらんやんけwwwww
916デフォルトの名無しさん
2018/11/18(日) 02:08:45.13ID:IKIz+EAu Ruby で作った
host_name = "https://example.com/"
ext_name = ".jpg" # 拡張子
dir_name = 3..4 # 3〜4 の範囲
base_name = 9..10 # 9〜10 の範囲
dir_name.each do | dir_n |
base_name.each do | base_n |
puts "#{ host_name }#{ dir_n }/#{ base_n }#{ ext_name }"
end
end
出力
https://example.com/3/9.jpg
https://example.com/3/10.jpg
https://example.com/4/9.jpg
https://example.com/4/10.jpg
host_name = "https://example.com/"
ext_name = ".jpg" # 拡張子
dir_name = 3..4 # 3〜4 の範囲
base_name = 9..10 # 9〜10 の範囲
dir_name.each do | dir_n |
base_name.each do | base_n |
puts "#{ host_name }#{ dir_n }/#{ base_n }#{ ext_name }"
end
end
出力
https://example.com/3/9.jpg
https://example.com/3/10.jpg
https://example.com/4/9.jpg
https://example.com/4/10.jpg
917デフォルトの名無しさん
2018/11/18(日) 02:29:02.25ID:+Y8H8lPp オブジェクト指向言語のRubyが今大人気!!
世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
https://gigazine.net/news/20181116-top-programming-languages-2018/
さすがRuby!貫禄のランクイン!!
Railsで作られたサービスでの集計ということを差し引いてもすごい!
世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
https://gigazine.net/news/20181116-top-programming-languages-2018/
さすがRuby!貫禄のランクイン!!
Railsで作られたサービスでの集計ということを差し引いてもすごい!
918デフォルトの名無しさん
2018/11/18(日) 09:13:17.46ID:ZxrLCeZc919デフォルトの名無しさん
2018/11/18(日) 13:07:11.78ID:OtDWWVpG >>916
グロ
グロ
920デフォルトの名無しさん
2018/11/19(月) 16:41:17.86ID:6QwGyqzR PILで画像に対してimage.getdataで値を取得すると、
ImagingCore object at 0x111993790 のようなメモリ上の値が得られますが、
これに類することはjavascriptで出来ますか?
ImagingCore object at 0x111993790 のようなメモリ上の値が得られますが、
これに類することはjavascriptで出来ますか?
921デフォルトの名無しさん
2018/11/19(月) 18:41:55.53ID:hzrCQ9gE >>920
javascriptスレできけ案件
javascriptスレできけ案件
922デフォルトの名無しさん
2018/11/19(月) 18:57:29.17ID:Rj4PyB0Y メモリ上の値じゃなくてアドレス情報だろ
923デフォルトの名無しさん
2018/11/19(月) 19:03:49.34ID:rVdz2W17 だから?
ここPythonスレだよ?
ここPythonスレだよ?
924デフォルトの名無しさん
2018/11/19(月) 20:44:02.95ID:m6msMsxr 超初心者なのですが、pythonでwebの画像を取得する方法がよくわかりません、、、
ggると大量取得のスクリプトは出てくるのですが、
http://〜〜〜.jpgという1枚を保存するにはどうすればいいのでしょうか。
どなたかご教授いただければ嬉しいです。
ggると大量取得のスクリプトは出てくるのですが、
http://〜〜〜.jpgという1枚を保存するにはどうすればいいのでしょうか。
どなたかご教授いただければ嬉しいです。
925デフォルトの名無しさん
2018/11/19(月) 21:05:05.45ID:rVdz2W17 アドレスバーに入れてエンター
右クリック
名前をつけて保存
1枚だけならこうすればいいだけだから出てこないんだと思われる
右クリック
名前をつけて保存
1枚だけならこうすればいいだけだから出てこないんだと思われる
926デフォルトの名無しさん
2018/11/19(月) 21:10:19.46ID:m6msMsxr 説明が不足してました、失礼
勉強がてら自分でスクリプトを作りたくて
responseとbs4で、1枚目のurlからhttp://〜〜〜.jpgを
抜き取るとこまではできたのですが、そこからのダウンロード方法がよくわからないです
1枚のダウンロード方法が分かり次第for分で回す予定なのですが
勉強がてら自分でスクリプトを作りたくて
responseとbs4で、1枚目のurlからhttp://〜〜〜.jpgを
抜き取るとこまではできたのですが、そこからのダウンロード方法がよくわからないです
1枚のダウンロード方法が分かり次第for分で回す予定なのですが
927デフォルトの名無しさん
2018/11/19(月) 21:11:32.92ID:m6msMsxr ↑requestの間違いです
928デフォルトの名無しさん
2018/11/19(月) 21:41:38.78ID:SMn8EX2d r = requests.get('http://example.com/eroero.jpg', stream=True)
with open('eroero.jpg', 'wb') as f:
while 1:
bin = r.raw.read(128)
if not w: break
f.write(bin)
with open('eroero.jpg', 'wb') as f:
while 1:
bin = r.raw.read(128)
if not w: break
f.write(bin)
929デフォルトの名無しさん
2018/11/19(月) 21:45:32.10ID:hzrCQ9gE930デフォルトの名無しさん
2018/11/19(月) 21:53:27.71ID:SMn8EX2d931デフォルトの名無しさん
2018/11/19(月) 22:03:04.22ID:m6msMsxr932デフォルトの名無しさん
2018/11/19(月) 22:20:46.67ID:OVa0imR9933デフォルトの名無しさん
2018/11/19(月) 22:36:23.06ID:lzm8caWs934デフォルトの名無しさん
2018/11/19(月) 22:48:30.82ID:m6msMsxr >>932
なるほどです
なるほどです
935デフォルトの名無しさん
2018/11/19(月) 23:17:27.92ID:057j8H5Q ダウンロードして保存するコマンドは、curl, wget
936デフォルトの名無しさん
2018/11/20(火) 00:36:50.22ID:2X5h674N 以下は何をしているのでしょうか?
同じ物を代入したり返しているようにしか見えないです
お助け下さい・・・
https://github.com/Theano/Theano/blob/master/theano/compat/__init__.py
59行目
cmp = cmp
63行目
def decode(x):
return x
同じ物を代入したり返しているようにしか見えないです
お助け下さい・・・
https://github.com/Theano/Theano/blob/master/theano/compat/__init__.py
59行目
cmp = cmp
63行目
def decode(x):
return x
937デフォルトの名無しさん
2018/11/20(火) 05:15:47.87ID:0YIMqUF3 ユーザーに派生クラスを作ってもらうための、ひな形・マーカーメソッドかも。
派生クラスを作らなかった場合の、デフォルトの動作なのかも
例えば、Ruby で抽象(マーカー)メソッドを作れば、
もし派生クラスB で、メソッドa を再定義(override)しなければ、例外をraise するから、
ユーザーは派生クラスで、メソッドa を再定義しなければならない
つまり、プログラマーに注意喚起する印・マーカー
class A
def a
raise NotImplementedError, "未実装です"
end
end
class B < A
end
B.new.a # 未実装です
派生クラスを作らなかった場合の、デフォルトの動作なのかも
例えば、Ruby で抽象(マーカー)メソッドを作れば、
もし派生クラスB で、メソッドa を再定義(override)しなければ、例外をraise するから、
ユーザーは派生クラスで、メソッドa を再定義しなければならない
つまり、プログラマーに注意喚起する印・マーカー
class A
def a
raise NotImplementedError, "未実装です"
end
end
class B < A
end
B.new.a # 未実装です
938937
2018/11/20(火) 05:21:34.81ID:0YIMqUF3 ライブラリの作者は、様々な、decode の実装方法があるから、ひな形だけは作っておくので、
ユーザーは派生クラスで、具体的なdecode の処理を、再定義して使ってください
もし再定義しなければ、何も処理しません
ユーザーは派生クラスで、具体的なdecode の処理を、再定義して使ってください
もし再定義しなければ、何も処理しません
939デフォルトの名無しさん
2018/11/20(火) 09:32:49.23ID:2X5h674N >>937-938
ありがとうございました、そういう事だったのですね
ありがとうございました、そういう事だったのですね
940デフォルトの名無しさん
2018/11/20(火) 12:30:52.12ID:xneveUXp >>939
いやそれ間違ってるから。
python2、python3両方で使えるようにそれぞれメソッドが定義してあって、
たまたまpython2のほうは演算する必要がないから引数をそのまま返しているだけ。
そいつはマ板で有名なpython知らないruby荒らしだから無視したほうがいいよ
いやそれ間違ってるから。
python2、python3両方で使えるようにそれぞれメソッドが定義してあって、
たまたまpython2のほうは演算する必要がないから引数をそのまま返しているだけ。
そいつはマ板で有名なpython知らないruby荒らしだから無視したほうがいいよ
941デフォルトの名無しさん
2018/11/20(火) 13:05:13.83ID:ZtIBLsed >>937
さすがRuby!
圧倒的ランクイン!!
https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg
さすがRuby!
圧倒的ランクイン!!
https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg
942デフォルトの名無しさん
2018/11/20(火) 13:34:07.29ID:jmuJusIM943デフォルトの名無しさん
2018/11/20(火) 16:39:53.72ID:5NbKWroI944デフォルトの名無しさん
2018/11/20(火) 19:08:18.20ID:PIfvSzhu ディレクトリ内に
aaa_000.txt
aaa_001.txt
:
aaa_100.txt てな感じでファイルが保存されてたとします。
aaa_000.txt以外をglob.glob()で一覧化して取り出したいんですが
glob.globの引数に指定する正規表現、どうすればいけますでしょうか???
aaa_000.txt
aaa_001.txt
:
aaa_100.txt てな感じでファイルが保存されてたとします。
aaa_000.txt以外をglob.glob()で一覧化して取り出したいんですが
glob.globの引数に指定する正規表現、どうすればいけますでしょうか???
945デフォルトの名無しさん
2018/11/20(火) 19:13:57.66ID:5NbKWroI !(^000$) じゃね?
946デフォルトの名無しさん
2018/11/20(火) 19:15:38.40ID:5NbKWroI 禿しくまちがってた
^(?!000)$
^(?!000)$
947デフォルトの名無しさん
2018/11/20(火) 19:52:04.79ID:PIfvSzhu import glob
l = glob.glob(r"^(?!000)$")
print(l)
こうですか? なんかダメみたいです(´・ω・`)
l = glob.glob(r"aaa_(?!000)$")
l = glob.glob(r"*(?!000)$") も試してみましたがダメでした。
l = glob.glob(r"^(?!000)$")
print(l)
こうですか? なんかダメみたいです(´・ω・`)
l = glob.glob(r"aaa_(?!000)$")
l = glob.glob(r"*(?!000)$") も試してみましたがダメでした。
948デフォルトの名無しさん
2018/11/20(火) 20:46:06.89ID:eXMfunJO 素直にre使ってりゃ1分で終わってたな
949デフォルトの名無しさん
2018/11/20(火) 20:48:08.12ID:d/DSkvWp globは正規表現使えないぞ。
使えるのはワイルドカードだけ
使えるのはワイルドカードだけ
950デフォルトの名無しさん
2018/11/20(火) 20:48:55.37ID:5NbKWroI んんんんn…
l = glob.glob(r"aaa_(?!000)[0-9]*\.txt")
でどうよ
l = glob.glob(r"aaa_(?!000)[0-9]*\.txt")
でどうよ
951デフォルトの名無しさん
2018/11/20(火) 20:49:50.73ID:5NbKWroI952デフォルトの名無しさん
2018/11/20(火) 20:51:12.06ID:+8Izpd7U >>951
その方が後から見てわかりやすいしな
その方が後から見てわかりやすいしな
953デフォルトの名無しさん
2018/11/20(火) 21:05:36.49ID:5mSMf66i あああ、mjdって「マジで」かー
954デフォルトの名無しさん
2018/11/20(火) 21:13:03.42ID:aqI13PjQ いくらくだすれとはいえこんな頭のおかしい奴が回答者だとは…
955デフォルトの名無しさん
2018/11/20(火) 21:13:50.48ID:5NbKWroI 初心者の
初心者による
初心者のための
互助すれ
初心者による
初心者のための
互助すれ
956デフォルトの名無しさん
2018/11/20(火) 21:15:21.06ID:yKairBEQ [x for x in glob.glob() if int("".join(re.findall("\d", x))) > 0]
でいけるかな
ファイル名が決め打ちで分かってるなら
[x for x in glob.glob() if int(x.replace("aaa_","").replace(".txt","")) > 0]
でもいける
でも今日日os.scandir()とかあるのにglob使う必要性はないと思う
でいけるかな
ファイル名が決め打ちで分かってるなら
[x for x in glob.glob() if int(x.replace("aaa_","").replace(".txt","")) > 0]
でもいける
でも今日日os.scandir()とかあるのにglob使う必要性はないと思う
957デフォルトの名無しさん
2018/11/20(火) 21:15:59.61ID:3m3Squu1 Pythonのtime sleepとcrontabのコードって相性悪くない?
958デフォルトの名無しさん
2018/11/20(火) 21:19:44.13ID:5NbKWroI 俺の環境(python2.7 Win7(XPからのアプデ))では
time sleepは常にラグい (`・ω・´)キリッ
time sleepは常にラグい (`・ω・´)キリッ
959デフォルトの名無しさん
2018/11/20(火) 21:22:17.92ID:yKairBEQ [x for x in glob.glob() if {y for y in x if y.isdigit() and y != "0"}]
が一番スマート()か
が一番スマート()か
960デフォルトの名無しさん
2018/11/20(火) 21:36:20.21ID:lC+kMZiu glob.glob('aaa_*.txt').remove('aaa_000.txt')
961デフォルトの名無しさん
2018/11/20(火) 21:46:55.78ID:PIfvSzhu962デフォルトの名無しさん
2018/11/20(火) 22:15:47.35ID:lC+kMZiu963デフォルトの名無しさん
2018/11/21(水) 01:45:07.75ID:yscr9wE/ Ruby で、配列の差集合を使った
ary = Dir.glob( 'aaa_*.txt' ) - [ 'aaa_000.txt' ]
ary = Dir.glob( 'aaa_*.txt' ) - [ 'aaa_000.txt' ]
964デフォルトの名無しさん
2018/11/21(水) 02:04:45.67ID:ILAAUKO6 Rubyが大人気!Rubyが大人気!
学ぶ価値がある大人気言語Ruby!!
https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg
学ぶ価値がある大人気言語Ruby!!
https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg
965デフォルトの名無しさん
2018/11/21(水) 18:00:19.78ID:/haBP7x7 なぜpathlib使わないのか
966デフォルトの名無しさん
2018/11/21(水) 18:42:34.45ID:vOPCMSrj bashからpythonのCGIプログラムを実行するときにGETパラメータを渡す方法を教えてください。
967デフォルトの名無しさん
2018/11/21(水) 20:05:39.22ID:NMvk2xsS get1=get1_val
get2=get2_val
が渡したいとすると
url="http://example.com/cgi-bin/recv.php?get1=get1_val&get2=get2_val"
curl $url
get2=get2_val
が渡したいとすると
url="http://example.com/cgi-bin/recv.php?get1=get1_val&get2=get2_val"
curl $url
968デフォルトの名無しさん
2018/11/21(水) 20:07:16.16ID:NMvk2xsS969デフォルトの名無しさん
2018/11/21(水) 20:07:21.27ID:vOPCMSrj デバックしたいです。
970デフォルトの名無しさん
2018/11/21(水) 20:14:02.86ID:NMvk2xsS pythonのCGIン中のimportんところの最後に
import cgitb
cgitb.enable()
と書け
デバッグが終わったら消すのを忘れるな
忘れるとたいへんなことがおきる
import cgitb
cgitb.enable()
と書け
デバッグが終わったら消すのを忘れるな
忘れるとたいへんなことがおきる
971デフォルトの名無しさん
2018/11/21(水) 20:16:30.77ID:NMvk2xsS >>967-968 あとで見返す人も居ないと思うがもうちょっとわかりやすく書いておこう
get1としてget1_val
get2としてget2_val
が渡したい
で
Apacheなんかでlocalhostを動かしていて
bash-cgiふぉるだんなかに
ターゲットとなるhoge.cgiが置いてある
とすると
url="http://localhost/bash-cgi/hoge.cgi?get1=get1_val&get2=get2_val"
curl $url
get1としてget1_val
get2としてget2_val
が渡したい
で
Apacheなんかでlocalhostを動かしていて
bash-cgiふぉるだんなかに
ターゲットとなるhoge.cgiが置いてある
とすると
url="http://localhost/bash-cgi/hoge.cgi?get1=get1_val&get2=get2_val"
curl $url
972デフォルトの名無しさん
2018/11/21(水) 20:50:52.10ID:jrFgFGaV ‘/home/hoge/foo/*.txt’ みたいなパスが与えられてglobしたい時って、pathlibだと一度切り分けて
Path(‘/home/hoge/foo’).glob(‘*.txt’)
とするしか無い?
glob.globなら最初のパスを丸ごと与えて終わるけど
Path(‘/home/hoge/foo’).glob(‘*.txt’)
とするしか無い?
glob.globなら最初のパスを丸ごと与えて終わるけど
973デフォルトの名無しさん
2018/11/21(水) 21:06:34.58ID:JM/nMfDs pathlib使わんくてもええんやで?なにに追い立てられとるんやおまえら?
974デフォルトの名無しさん
2018/11/22(木) 00:08:45.16ID:VnO3ZoaR Ruby では、絶対・相対パスの両方が使えるよ
Dir.glob( 'C:/Users/Owner/Documents/*.txt' )
Dir.glob( 'C:/Users/Owner/Documents/*.txt' )
975デフォルトの名無しさん
2018/11/22(木) 08:08:40.14ID:MlwCwGep >>974
荒らし氏ね
荒らし氏ね
976デフォルトの名無しさん
2018/11/22(木) 08:55:38.42ID:GbIN7rVe977デフォルトの名無しさん
2018/11/22(木) 09:44:14.26ID:5DqVDDdG ガイジしか使ってないし
開発者もガイジ揃いだから
開発者もガイジ揃いだから
978デフォルトの名無しさん
2018/11/22(木) 11:17:29.92ID:yaFldicH Rubyはガイジ隔離言語として世の役に立ってるよなw
979デフォルトの名無しさん
2018/11/22(木) 12:06:33.50ID:kIWLxEQb (Rubyガイジ)うんこ…うんこ…
980デフォルトの名無しさん
2018/11/22(木) 13:34:33.95ID:blyr971h 次スレよろ
981デフォルトの名無しさん
2018/11/22(木) 17:10:16.21ID:JDIt5Mgb ( ・∀・)ノフォラァヨ!!---===≡≡≡ くだすれPython(超初心者用) その40
http://mevius.5ch.net/test/read.cgi/tech/1542874174/
http://mevius.5ch.net/test/read.cgi/tech/1542874174/
982デフォルトの名無しさん
2018/11/23(金) 16:02:50.08ID:joE0voDR rate="486,380(26.03%)"
みたいなのから正規表現で26.03だけ取り出したいんですけどどうすればいいですか?
最初はrate[-7:-2]で取り出そうと思ったんですけど、たまに"500(3.27%)みたいな%が一桁のデータがあって、出力すると(3.27になり、エラーの原因になってしまうんです
つまり()の中の数字だけ取り出す方法を教えてください
みたいなのから正規表現で26.03だけ取り出したいんですけどどうすればいいですか?
最初はrate[-7:-2]で取り出そうと思ったんですけど、たまに"500(3.27%)みたいな%が一桁のデータがあって、出力すると(3.27になり、エラーの原因になってしまうんです
つまり()の中の数字だけ取り出す方法を教えてください
983デフォルトの名無しさん
2018/11/23(金) 16:34:17.54ID:e4GZHgy/ >>982
re.compile(r'\((.*)\%\)', re.I)
re.compile(r'\((.*)\%\)', re.I)
984デフォルトの名無しさん
2018/11/23(金) 17:04:36.40ID:joE0voDR985デフォルトの名無しさん
2018/11/23(金) 17:08:26.06ID:f04GZ1ux >>982
'\d+\.\d+(?=\%)'
'\d+\.\d+(?=\%)'
986デフォルトの名無しさん
2018/11/23(金) 17:41:39.39ID:joE0voDR987デフォルトの名無しさん
2018/11/23(金) 18:29:59.34ID:cGOad0jL988デフォルトの名無しさん
2018/11/24(土) 03:48:05.11ID:01jBobXF Ruby で作った。
正規表現内で特別な意味をもつ、特殊文字を判別する
rp = Regexp.escape "(%)"
puts rp #=> \(%\)
( ) は特殊文字なので、それらから特別な意味を除いて、単なる文字として使うには、
前に、\(逆スラッシュ)を付けて、エスケープする
rate = "486,380(26.03%)"
md = rate.match /\((.*)%\)/
puts md[ 0 ] #=> (26.03%)
puts md[ 1 ] #=> 26.03
外側の( ) は、単なる文字として使うので、\( \) とエスケープするが、
内側の( ) は、キャプチャーの意味なので、エスケープしない
md[0]はマッチした文字列で、md[1]は、( )でキャプチャーした部分
正規表現内で特別な意味をもつ、特殊文字を判別する
rp = Regexp.escape "(%)"
puts rp #=> \(%\)
( ) は特殊文字なので、それらから特別な意味を除いて、単なる文字として使うには、
前に、\(逆スラッシュ)を付けて、エスケープする
rate = "486,380(26.03%)"
md = rate.match /\((.*)%\)/
puts md[ 0 ] #=> (26.03%)
puts md[ 1 ] #=> 26.03
外側の( ) は、単なる文字として使うので、\( \) とエスケープするが、
内側の( ) は、キャプチャーの意味なので、エスケープしない
md[0]はマッチした文字列で、md[1]は、( )でキャプチャーした部分
989デフォルトの名無しさん
2018/11/24(土) 08:22:15.36ID:sJe2ncgH >>988
いい加減にしろよ屑
いい加減にしろよ屑
990デフォルトの名無しさん
2018/11/24(土) 09:57:01.31ID:hG+y0dS8 >>988
圧倒的大人気言語Ruby!!
https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg
大人気!!!
圧倒的大人気言語Ruby!!
https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg
大人気!!!
991デフォルトの名無しさん
2018/11/24(土) 11:16:19.41ID:ZWAqZgZk >>990
記事読んでみたらRuby落ち目で草
記事読んでみたらRuby落ち目で草
992デフォルトの名無しさん
2018/11/24(土) 12:12:32.95ID:4kdGLnPd re.search と re.findall どっち使うのが良いの?
web で調べると re.search 使ってる人や薦める人が多いみたいだけど
実際は re.findall の方が使いやすいと感じる
web で調べると re.search 使ってる人や薦める人が多いみたいだけど
実際は re.findall の方が使いやすいと感じる
993デフォルトの名無しさん
2018/11/24(土) 12:22:51.14ID:rqBWhuzZ お前が使いやすいと思うものを使え
お前の感性なんざ知らねえよ
お前の感性なんざ知らねえよ
994デフォルトの名無しさん
2018/11/24(土) 12:25:19.78ID:rqBWhuzZ だいたいre.searchを薦めてる奴はその理由を書いてるだろ
(書いてない奴はゴミだから信用するな)
それを理解した上でre.findallの方がというなら、もはや否定する理由はない
お前の中ではそうなんだな、で終わりだ
(書いてない奴はゴミだから信用するな)
それを理解した上でre.findallの方がというなら、もはや否定する理由はない
お前の中ではそうなんだな、で終わりだ
995デフォルトの名無しさん
2018/11/24(土) 13:07:33.24ID:b4dZse+n >>994
だったら最初から黙っとけよ、チンカス
だったら最初から黙っとけよ、チンカス
996デフォルトの名無しさん
2018/11/24(土) 13:11:24.69ID:4kdGLnPd finditer が良さそうなのでこれにします
本当にありがとうございました
仲良くしてね
本当にありがとうございました
仲良くしてね
997デフォルトの名無しさん
2018/11/24(土) 14:00:15.36ID:f9pHxWoA 一個見つかれば良い状況で
searchではなくfinditer使うのは面倒くさいだけのような
finditerはマッチしてもしなくてもイテレータが帰ってきちゃう
searchではなくfinditer使うのは面倒くさいだけのような
finditerはマッチしてもしなくてもイテレータが帰ってきちゃう
998デフォルトの名無しさん
2018/11/24(土) 14:17:31.53ID:S/+07wK4 じつにくだすれらしい
くだくだなながれですね (´・ω・`)
くだくだなながれですね (´・ω・`)
999デフォルトの名無しさん
2018/11/24(土) 14:24:37.27ID:4kdGLnPd 何個見つかるか事前に判らないので
match したかしなかったか調べるのに if m is None: みたいな書き方するなら
for _ in iter: でする方が楽なんです
条件後付けと言われればその通りですが
match したかしなかったか調べるのに if m is None: みたいな書き方するなら
for _ in iter: でする方が楽なんです
条件後付けと言われればその通りですが
1000デフォルトの名無しさん
2018/11/24(土) 14:25:34.56ID:4kdGLnPd ume
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 92日 6時間 34分 59秒
新しいスレッドを立ててください。
life time: 92日 6時間 34分 59秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 働いて働いて働いても生活は…円安に歯止めが掛からず生活は苦しくなるばかり…サナエノミクスの限界で「高市不況」がやってくる ★6 [ぐれ★]
- 日中対立、打開策見えず 高市氏答弁1カ月、影響拡大 ★2 [蚤の市★]
- 小林よしのり 日中関係、来年は「ますます日本は不利に」「加害者の分際で被害者ぶって、中国が横暴だと毅然と振る舞っても滑稽なだけ」 [冬月記者★]
- 2026年はゲーム機やPC、スマホが一斉値上げか メモリ大手ブランド「Crucial」廃止の衝撃 [樽悶★]
- 【サッカー】カズ・三浦知良、現役続行を表明 SNSで『引退勧告』殺到も… 対戦した選手「スピード、キレはないが体の使い方はうまい」 [冬月記者★]
- 『DOWNTOWN+』2回目生配信で松本の実兄・松本隆博が登場し共演 [jinjin★]
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap613
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1821
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap614
- とらせんIP ★3
- こいせん 全レス転載禁止
- ハム専 サヨナラ石井
- 【画像】兎田ぺこーら主催マイクラ企画の参加メンバーwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- マクドナルドのバイトが時給4300円を突破。さすがにアメリカ人もビビり始める [858219337]
- 【悲報】日本人、反日!お米券、全く効果的でない対策だと思う85.6%に達す!高市の政策にノー [219241683]
- 酔ってらっしゃい🍶🍶🍶
- おバカなリズム🎶とおバカなダンス💃で、サタデーナイト🌃にバカテンポ🏡
- 参政党神谷「日本は領土が狭いのに人口1億2500万人はかなり多いんですよ!江戸時代なんて3000万人だったんですよ!」 [931948549]
