このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その38
https://mevius.5ch.net/test/read.cgi/tech/1526522954/
くだすれPython(超初心者用) その39
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/08/24(金) 07:50:35.97ID:VD4/++xS122デフォルトの名無しさん
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回目のローテーションファイルで上書きされてしまい
同じファイル名にならないように、ファイル名に時刻を付けたりすれば?
とにかく、ログローテーションの文書を読むしかないと思う
■ このスレッドは過去ログ倉庫に格納されています
