このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その37
http://mevius.5ch.net/test/read.cgi/tech/1521271945/
探検
くだすれPython(超初心者用) その38
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2018/05/17(木) 11:09:14.54ID:WeqM6vIc918デフォルトの名無しさん
2018/08/15(水) 06:37:02.98ID:buain2zE919デフォルトの名無しさん
2018/08/15(水) 07:56:21.54ID:+LAc8jW9 >>913
python-izm
python-izm
920522
2018/08/15(水) 17:44:10.84ID:EAcVsQ5O921デフォルトの名無しさん
2018/08/15(水) 18:14:41.57ID:7DSwjy9L 複数のHTTPリクエストを並行して行う方法を教えてください。(できれば標準ライブラリのみで)
Python 3.6.5
<やりたいこと>
某サイトから動画をダウンロードするスクリプトを書いています。
「動画をダウンロード中は、一定間隔で特定URLにリクエストを発行(ハートビート)しないと、動画ストリームがサーバー側から閉じられてしまう」
というサイト仕様のため、下記の2処理を並行して実行したいです。
・処理1:動画をダウンロードしてファイルに書き込む
・処理2:1分おきに特定のURLにリクエストを発行する(ハートビート)
<やってみたこと>
標準ライブラリのasyncioとurllib.request.urlopenを使って非同期処理。
→動画のダウンロード(処理1)が完了してからハートビート(処理2)が実行される、という結果になり、期待したとおりにならず。
async def exec_download():
await self._downlaod()
async def downlaod():
# 動画をダウンロード(時間がかかる)
res = urlopen('http://www.unko.com/video.mp4')
shutil.copyfileobj(res, fout)
async def heartbeat():
# 1分おきにハートビート
await asyncio.sleep(60)
res = urlopen('http://www.unko.com/heartbeat')
await heartbeat()
loop = asyncio.get_event_loop()
coroutines = [heartbeat(), exec_download()]
loop.run_until_complete(asyncio.wait(coroutines))
以上、よろしくお願いします。
Python 3.6.5
<やりたいこと>
某サイトから動画をダウンロードするスクリプトを書いています。
「動画をダウンロード中は、一定間隔で特定URLにリクエストを発行(ハートビート)しないと、動画ストリームがサーバー側から閉じられてしまう」
というサイト仕様のため、下記の2処理を並行して実行したいです。
・処理1:動画をダウンロードしてファイルに書き込む
・処理2:1分おきに特定のURLにリクエストを発行する(ハートビート)
<やってみたこと>
標準ライブラリのasyncioとurllib.request.urlopenを使って非同期処理。
→動画のダウンロード(処理1)が完了してからハートビート(処理2)が実行される、という結果になり、期待したとおりにならず。
async def exec_download():
await self._downlaod()
async def downlaod():
# 動画をダウンロード(時間がかかる)
res = urlopen('http://www.unko.com/video.mp4')
shutil.copyfileobj(res, fout)
async def heartbeat():
# 1分おきにハートビート
await asyncio.sleep(60)
res = urlopen('http://www.unko.com/heartbeat')
await heartbeat()
loop = asyncio.get_event_loop()
coroutines = [heartbeat(), exec_download()]
loop.run_until_complete(asyncio.wait(coroutines))
以上、よろしくお願いします。
922デフォルトの名無しさん
2018/08/15(水) 18:17:48.76ID:JTlr32HG うんち
923デフォルトの名無しさん
2018/08/15(水) 18:21:32.73ID:bkK5nIf1 >>921
そんなもん全く別個にやればいいだろ
一般に、スクリプトをうまく使うコツは、一つのもので色々なことをやろうとしないこと
まあその発想でいくとPythonすら要らないけどな
curlとシェルスクリプトで十分
そんなもん全く別個にやればいいだろ
一般に、スクリプトをうまく使うコツは、一つのもので色々なことをやろうとしないこと
まあその発想でいくとPythonすら要らないけどな
curlとシェルスクリプトで十分
924デフォルトの名無しさん
2018/08/15(水) 18:51:36.06ID:uSjYsFnm VScodeインストールしたのに、何か動かねえ!
右上のウィンドウで命令(print w)書いても、うんともすんとも
オール電化の康一を思い出したわ 吉良戦の時のさー
右上のウィンドウで命令(print w)書いても、うんともすんとも
オール電化の康一を思い出したわ 吉良戦の時のさー
925デフォルトの名無しさん
2018/08/15(水) 19:01:49.33ID:W/Izi4Yd その1レスだけでプログラミング向いてないのがわかる
926遊園地 ◆ExGQrDul2E
2018/08/15(水) 19:46:50.11ID:H63Luids VScodeでpythonデバッグしようとすると
Java runtime could not be located
The .NET CLI tools cannot be located. .NET Core debugging will not be enabled. Make sure .NET CLI tools are installed and are on the path.
Javaランタイムを見つけることができませんでした
.NET CLIツールを見つけることができません。 .NETコアのデバッグは有効になりません。 .NET CLIツールがインストールされ、パス上にあることを確認します。
諦めた
Java runtime could not be located
The .NET CLI tools cannot be located. .NET Core debugging will not be enabled. Make sure .NET CLI tools are installed and are on the path.
Javaランタイムを見つけることができませんでした
.NET CLIツールを見つけることができません。 .NETコアのデバッグは有効になりません。 .NET CLIツールがインストールされ、パス上にあることを確認します。
諦めた
927遊園地
2018/08/15(水) 19:50:02.83ID:H63Luids デバッグなしで起動すると動くけど、
それなら、他のと変わらないなーー
ぐらい
それなら、他のと変わらないなーー
ぐらい
928デフォルトの名無しさん
2018/08/15(水) 19:50:03.49ID:Y7oow45s >>920
プログラムの本とか買ったことないな。
ネットの方が情報あるし。
コードをとにかく色々書いてみて動作させながら言語の特徴やクセを掴んでいったほうが習得は早いと思うよ。
むしろ本はある程度書けるようになってから、もっと楽に書ける方法があったのかっていう意味で気づくためにみてる、立ち読みでだけど。
プログラムの本とか買ったことないな。
ネットの方が情報あるし。
コードをとにかく色々書いてみて動作させながら言語の特徴やクセを掴んでいったほうが習得は早いと思うよ。
むしろ本はある程度書けるようになってから、もっと楽に書ける方法があったのかっていう意味で気づくためにみてる、立ち読みでだけど。
929デフォルトの名無しさん
2018/08/15(水) 19:53:42.96ID:x0iBTGoo 既存のGUIウインドウ上にテキストを表示したいのですが何かいい方法ありますでしょうか
930デフォルトの名無しさん
2018/08/15(水) 20:15:46.32ID:pSIls4/k931デフォルトの名無しさん
2018/08/15(水) 21:32:12.73ID:EAcVsQ5O932デフォルトの名無しさん
2018/08/15(水) 21:57:28.79ID:+OObTSrG933デフォルトの名無しさん
2018/08/15(水) 22:11:34.29ID:yyAkWswg >>918>>920
この本は入門書じゃないぞ
この本は入門書じゃないぞ
934デフォルトの名無しさん
2018/08/15(水) 22:12:05.88ID:e3I8nXvG935デフォルトの名無しさん
2018/08/15(水) 23:22:27.80ID:EAcVsQ5O936デフォルトの名無しさん
2018/08/15(水) 23:57:27.18ID:q5gHkF1g >>918
なんで、蛇じゃなくてネズミなんだろう
なんで、蛇じゃなくてネズミなんだろう
937デフォルトの名無しさん
2018/08/16(木) 00:01:20.35ID:IiF9TGTT938デフォルトの名無しさん
2018/08/16(木) 00:21:28.03ID:x3zDbbaW >>937
ありがとう、調べてみる!
ありがとう、調べてみる!
939デフォルトの名無しさん
2018/08/16(木) 00:27:09.51ID:tQF1Ua+o 俺、初めてのPythonめちゃ助けられた
というのも初プログラミング=Pythonだったから
コード真似て、こう動くんだというのはわかっても
用語とか解説がチンプンカンプンな事が多くて辞書的に使ってた
確かにクドイね。でも今なら他にいい本出てそうじゃん
というのも初プログラミング=Pythonだったから
コード真似て、こう動くんだというのはわかっても
用語とか解説がチンプンカンプンな事が多くて辞書的に使ってた
確かにクドイね。でも今なら他にいい本出てそうじゃん
940デフォルトの名無しさん
2018/08/16(木) 01:11:31.91ID:57YYyuh5 型宣言とか戻り値の型とか書かないのすごく気持ち悪いね
まあ慣れるんだろうけど
まあ慣れるんだろうけど
941デフォルトの名無しさん
2018/08/16(木) 01:18:20.94ID:9HlOn3Gq942デフォルトの名無しさん
2018/08/16(木) 01:25:09.30ID:OpTecYpP 書いた方がvscodeでIntellisenseが効くから書いてる。
943デフォルトの名無しさん
2018/08/16(木) 04:34:22.30ID:103J48LD 変数の中に数字が入っています。
具体的にどんな値が入っているか自分では分からない状態で、もしその値がマイナスの値だった場合、
その変数の値を他の値(例えば60)に変更するにはどう書いたらいいんでしょうか?
具体的にどんな値が入っているか自分では分からない状態で、もしその値がマイナスの値だった場合、
その変数の値を他の値(例えば60)に変更するにはどう書いたらいいんでしょうか?
944デフォルトの名無しさん
2018/08/16(木) 04:42:47.23ID:103J48LD >>943
追記です
sleep関数を使って整数内のint(秒)間スリープさせてループです動かすスクリプトなんですが、たまに整数内の数字がマイナスになってしまった場合にエラーで止まってしまうので、それを防ぎたいと思いました
追記です
sleep関数を使って整数内のint(秒)間スリープさせてループです動かすスクリプトなんですが、たまに整数内の数字がマイナスになってしまった場合にエラーで止まってしまうので、それを防ぎたいと思いました
945デフォルトの名無しさん
2018/08/16(木) 04:50:35.45ID:mpgAaxLb a = 10
if a < 0:
a = 60
print(a)
a = -10
if a < 0:
a = 60
print(a)
if a < 0:
a = 60
print(a)
a = -10
if a < 0:
a = 60
print(a)
946デフォルトの名無しさん
2018/08/16(木) 05:02:53.82ID:103J48LD >>945
どうもありがとうございました
どうもありがとうございました
947デフォルトの名無しさん
2018/08/16(木) 10:01:01.41ID:LoNM+spa >>936
蛇の食料
蛇の食料
948デフォルトの名無しさん
2018/08/16(木) 11:12:16.71ID:wiNukf+g >>925
+1
+1
949デフォルトの名無しさん
2018/08/16(木) 13:27:34.52ID:uYNhfvy4950デフォルトの名無しさん
2018/08/16(木) 14:24:14.31ID:AFSiOhT6 今paizaラーニングのチャプター2 #3
やってるんだがアホすぎて不等号の意味が全くわからん
やってるんだがアホすぎて不等号の意味が全くわからん
951デフォルトの名無しさん
2018/08/16(木) 15:07:37.71ID:SGYMD3jf それプログラミングじゃなくて中学数学が分からないのでは?
952デフォルトの名無しさん
2018/08/16(木) 15:51:55.16ID:z5KyUW64 特定の文字列をUTCの時間だと指定してUnix時間に変換する方法を教えて欲しいです。
current_dataのStartTimeには2018-08-16T06:05:37と書かれてあります。
https://pastebin.com/K9qEC75T
これだと9時間ずれてしまいます。
current_dataのStartTimeには2018-08-16T06:05:37と書かれてあります。
https://pastebin.com/K9qEC75T
これだと9時間ずれてしまいます。
953デフォルトの名無しさん
2018/08/16(木) 16:00:32.85ID:wiNukf+g strptime
mktime
mktime
954デフォルトの名無しさん
2018/08/16(木) 16:06:07.11ID:wiNukf+g pytz
955デフォルトの名無しさん
2018/08/16(木) 17:43:51.77ID:z5KyUW64956デフォルトの名無しさん
2018/08/16(木) 18:11:17.83ID:Lbm+OgmQ >>952
time.timezoneかdatetime.datetime
time.timezoneかdatetime.datetime
957デフォルトの名無しさん
2018/08/16(木) 18:20:15.73ID:z5KyUW64 ちょっとわかりそうです
958デフォルトの名無しさん
2018/08/16(木) 18:32:07.07ID:z5KyUW64 これでできました
baseStartTime = '2018-08-16T08:02:45+0000'
baseTimeFormat = '%Y-%m-%dT%H:%M:%S%z'
utc = datetime.strptime(baseStartTime, baseTimeFormat)
unix = utc.timestamp()
>>956
調べてみます
baseStartTime = '2018-08-16T08:02:45+0000'
baseTimeFormat = '%Y-%m-%dT%H:%M:%S%z'
utc = datetime.strptime(baseStartTime, baseTimeFormat)
unix = utc.timestamp()
>>956
調べてみます
959デフォルトの名無しさん
2018/08/16(木) 21:32:10.60ID:VSd23G4R https://ideone.com/rGkQxM
pythonはCバインディングの関数よんでるだけだからな
調べてやったぞ
baseStartTimeがUTCならNo1.でいける
setenv("TZ", "UTC", 1); ← コレで切り替える
strptime(sz_time, sz_fmt, &t_tm);
return mktime(&t_tm);
baseStartTimeがJST(UTC+09:00)ならNo2.でいける
setenv("TZ", "Asia/Tokyo", 1); ← コレで切り替える
strptime(sz_time, sz_fmt, &t_tm);
return mktime(&t_tm);
pythonはCバインディングの関数よんでるだけだからな
調べてやったぞ
baseStartTimeがUTCならNo1.でいける
setenv("TZ", "UTC", 1); ← コレで切り替える
strptime(sz_time, sz_fmt, &t_tm);
return mktime(&t_tm);
baseStartTimeがJST(UTC+09:00)ならNo2.でいける
setenv("TZ", "Asia/Tokyo", 1); ← コレで切り替える
strptime(sz_time, sz_fmt, &t_tm);
return mktime(&t_tm);
960デフォルトの名無しさん
2018/08/16(木) 22:13:23.11ID:z5KyUW64 >>959
これはCですか?
これはCですか?
961デフォルトの名無しさん
2018/08/16(木) 22:28:06.44ID:VSd23G4R そう
しかしコタエとしては
オマエが作ったプログラムを起動する前に
適切な環境変数設定すれば
期待通りの結果になると考えられる
起動するまえにシェルで
TZ="UTC"
※ baseStartTimeがUTCの場合
もしくは
TZ="Asia/Tokyo"
※ baseStartTimeがJSTの場合
とすればいいハズ
しかしコタエとしては
オマエが作ったプログラムを起動する前に
適切な環境変数設定すれば
期待通りの結果になると考えられる
起動するまえにシェルで
TZ="UTC"
※ baseStartTimeがUTCの場合
もしくは
TZ="Asia/Tokyo"
※ baseStartTimeがJSTの場合
とすればいいハズ
962デフォルトの名無しさん
2018/08/17(金) 11:42:19.78ID:23Jvz4gX GAEとか変なTZの鯖もある
963デフォルトの名無しさん
2018/08/17(金) 13:46:36.32ID:GPgJleJz csvに入力してある内容からランダムで5W1Hゲームの答えを表示するコードをお願いします
964デフォルトの名無しさん
2018/08/17(金) 13:56:50.54ID:XabtsNLS 宿題は宿題スレで
965デフォルトの名無しさん
2018/08/17(金) 14:32:50.18ID:GPgJleJz 宿題ではないです
作り方がわからないので教えてください
作り方がわからないので教えてください
966デフォルトの名無しさん
2018/08/17(金) 15:22:13.09ID:ZZpHYasb matplotlibで散布図を作りたいのですがプロットする点は点ではなく外部ファイルの画像データを使いたいです
これは可能でしょうか?
これは可能でしょうか?
967デフォルトの名無しさん
2018/08/17(金) 15:32:15.30ID:XabtsNLS968デフォルトの名無しさん
2018/08/18(土) 01:01:12.82ID:K3y6E3T8 >>963-965
Ruby では、こういう感じ。
Python のCSV module も見れば?
# コロン区切りのCSV 入力ファイルを、1行ずつ処理する
input_file = "input.csv"
CSV.foreach(input_file, col_sep: ":") do |row|
puts row[1] # 列[1]
end
Ruby では、こういう感じ。
Python のCSV module も見れば?
# コロン区切りのCSV 入力ファイルを、1行ずつ処理する
input_file = "input.csv"
CSV.foreach(input_file, col_sep: ":") do |row|
puts row[1] # 列[1]
end
969デフォルトの名無しさん
2018/08/18(土) 03:00:30.68ID:xt3abbWh with open(“file”, “w”) as csv_file:
# csv_file.readline()とかsplitとかご自由に。
# csv_file.readline()とかsplitとかご自由に。
970デフォルトの名無しさん
2018/08/21(火) 18:18:57.90ID:4zizh11G 秒を時:分:秒に変換したいです。
その時、時が00なら分:秒だけにしたいです。
以下のように書いたんですが、ifが動いてくれないです。
どう改善したらよいですか?
duration = "{0.hours:02}:{0.minutes:02}:{0.seconds:02}".format(relativedelta(seconds=baseDuration)) # 曲の長さ (時:分:秒に変換)
if str(duration)[0:1] == '00':
duration = str(duration[3:7])
その時、時が00なら分:秒だけにしたいです。
以下のように書いたんですが、ifが動いてくれないです。
どう改善したらよいですか?
duration = "{0.hours:02}:{0.minutes:02}:{0.seconds:02}".format(relativedelta(seconds=baseDuration)) # 曲の長さ (時:分:秒に変換)
if str(duration)[0:1] == '00':
duration = str(duration[3:7])
971デフォルトの名無しさん
2018/08/21(火) 18:25:48.79ID:4zizh11G >>970
自己レス
if str(duration)[0:2] == '00':
duration = str(duration[3:8])
これで動いてくれました。
最初の二文字の指定だから[0:1]、[3:7]だと思うんですが、なぜ[0:2]、[3:8]としないといけないんですか?
自己レス
if str(duration)[0:2] == '00':
duration = str(duration[3:8])
これで動いてくれました。
最初の二文字の指定だから[0:1]、[3:7]だと思うんですが、なぜ[0:2]、[3:8]としないといけないんですか?
972デフォルトの名無しさん
2018/08/21(火) 18:42:19.65ID:JvEAafEP973デフォルトの名無しさん
2018/08/21(火) 18:51:53.44ID:4zizh11G >>972
うまく理解する方法があればいいんですが、仕様という事で理解する事にします。
うまく理解する方法があればいいんですが、仕様という事で理解する事にします。
974デフォルトの名無しさん
2018/08/21(火) 19:13:14.34ID:4zizh11G データをcsvファイルに保存したいです。
コンマ区切りだと、保存しようとしている項目の中にコンマが含まれているとおかしくなってしまうので、
"value1","value2","value3"
って感じで「"」で囲む事にしました。
csvFile = open(fileName, mode='a', encoding='utf-8')
print(f'"{unixStartTime}","{startTime}","{song}","{artist}","{album}","{releaseDate}","{identifier}","{itunesTrackId}"', file=csvFile)
csvFile.close()
しかし、項目の中に「"」が含まれていると、それもまたおかしくなってしまいました。
一般的に、どう書くんでしょうか?
コンマ区切りだと、保存しようとしている項目の中にコンマが含まれているとおかしくなってしまうので、
"value1","value2","value3"
って感じで「"」で囲む事にしました。
csvFile = open(fileName, mode='a', encoding='utf-8')
print(f'"{unixStartTime}","{startTime}","{song}","{artist}","{album}","{releaseDate}","{identifier}","{itunesTrackId}"', file=csvFile)
csvFile.close()
しかし、項目の中に「"」が含まれていると、それもまたおかしくなってしまいました。
一般的に、どう書くんでしょうか?
975デフォルトの名無しさん
2018/08/21(火) 19:20:59.43ID:JvEAafEP976デフォルトの名無しさん
2018/08/21(火) 19:26:23.20ID:mIkZeZ6h >>975
それはちょっと違うだろ
それはちょっと違うだろ
977デフォルトの名無しさん
2018/08/21(火) 20:28:45.21ID:9TRNijf4 >>971
スライスの添字は要素と要素の「間」を示していると考えればいい
https://docs.python.jp/3/tutorial/introduction.html
> スライスの使い方をおぼえる良い方法は、インデックスが文字と文字の あいだ (between) を指しており、最初の文字の左端が 0 になっていると考えることです。そうすると、 n 文字からなる文字列中の最後の文字の右端はインデックス n となります。例えばこうです:
リンク先にASCII図があるのでそれも見て
スライスの添字は要素と要素の「間」を示していると考えればいい
https://docs.python.jp/3/tutorial/introduction.html
> スライスの使い方をおぼえる良い方法は、インデックスが文字と文字の あいだ (between) を指しており、最初の文字の左端が 0 になっていると考えることです。そうすると、 n 文字からなる文字列中の最後の文字の右端はインデックス n となります。例えばこうです:
リンク先にASCII図があるのでそれも見て
978デフォルトの名無しさん
2018/08/21(火) 20:50:48.17ID:4zizh11G979デフォルトの名無しさん
2018/08/22(水) 00:34:33.92ID:h82tfzI1 Ruby の範囲演算子(Range)では、
(3..5) # 3, 4, 5
(3...5) # 3, 4
.. は終端を含む。
... は終端を含まない
(3..5) # 3, 4, 5
(3...5) # 3, 4
.. は終端を含む。
... は終端を含まない
980デフォルトの名無しさん
2018/08/22(水) 01:21:48.37ID:h82tfzI1 >>974
Ruby では、
1. :col_sep フィールドの区切り文字
2. :row_sep 行区切り文字
3. :quote_char フィールドをクオートする文字
1は、カンマかタブ
2は、\r\n か\n
3は、\(バックスラッシュ)
たぶん、"a\"b"
Ruby では、
1. :col_sep フィールドの区切り文字
2. :row_sep 行区切り文字
3. :quote_char フィールドをクオートする文字
1は、カンマかタブ
2は、\r\n か\n
3は、\(バックスラッシュ)
たぶん、"a\"b"
981デフォルトの名無しさん
2018/08/22(水) 02:05:11.40ID:ETkOLyp8982デフォルトの名無しさん
2018/08/22(水) 06:33:35.91ID:Sg/L3P+S 相手するなよ…
983デフォルトの名無しさん
2018/08/22(水) 07:36:50.81ID:oqm7/Tfy >>977
これって最初は戸惑うよね
これって最初は戸惑うよね
984デフォルトの名無しさん
2018/08/22(水) 07:47:10.46ID:POyIOdJh 言語によってスライス系の関数やメソッドの引数もバラバラだからなあ
slice(from, to)
to を含んだり to - 1 だったり
slice(from, length) だったり
覚えきれないからマニュアル見ながらやってるよ
slice(from, to)
to を含んだり to - 1 だったり
slice(from, length) だったり
覚えきれないからマニュアル見ながらやってるよ
985デフォルトの名無しさん
2018/08/22(水) 08:38:43.98ID:js75fZuK >>974
普通csvライブラリ使う
普通csvライブラリ使う
986デフォルトの名無しさん
2018/08/22(水) 16:31:49.60ID:Q4k/bgn4987デフォルトの名無しさん
2018/08/22(水) 19:42:27.90ID:jIQXHl+4 身を取れってどこの方言?
988デフォルトの名無しさん
2018/08/22(水) 21:47:03.68ID:N6xAlRSo デブは痩せろってことだろう
989デフォルトの名無しさん
2018/08/22(水) 22:00:26.08ID:mHU9sjBy ぐぬぬ
990デフォルトの名無しさん
2018/08/23(木) 08:12:34.88ID:UTWNvtw2 file “<stdin>”, line1, in<module>
NameError: name ‘ファイル名やら’ is not defined
というエラーが出てしまいます。
この前まで使えてました。
何が原因かわかりますか?
>>>a=5
>>>a
5
などはできます。
.pyが動きません。
NameError: name ‘ファイル名やら’ is not defined
というエラーが出てしまいます。
この前まで使えてました。
何が原因かわかりますか?
>>>a=5
>>>a
5
などはできます。
.pyが動きません。
991デフォルトの名無しさん
2018/08/23(木) 13:03:33.23ID:jtErK1hR ファイル名やら?
992デフォルトの名無しさん
2018/08/23(木) 16:53:21.50ID:XM3jnZax ネットラジオで現在放送されている曲情報を取得して表示するスクリプトを考えてます。
https://pastebin.com/uTd6r2ex
放送局側のJSONには現在の曲情報と次回のJSONの更新時間(だいたい数秒〜数十秒後)がかかれてあります。
次の曲が始まる時間が書いてあればいいんですが書かれてないので、現在の時間と次回のJSONの更新時間の差分秒でループさせて次回のJSONを取得する事にしました。
(放送局のサイトにあるWebプレイヤーのjavascriptでは20秒間隔で取得しているようでした)
放送されている曲がそのままなら更新後のJSONの中の曲情報ももちろんそのままで、次回の更新時間のみ変更されています。
曲が変わっていないのに、ループの時間が来たらその度に出力されるので、その処理は無駄だと思いました。
JSONが更新されても曲がそのままなら変わらない情報(例えば曲名など)をキャッシュとしてオンメモリのSQLiteに保存して、そこが変わってなければ出力しないようにすればいいんじゃないかと思ったんですが、他にいい方法がありますか?
教えてください。
現在のJSONの特定の項目をSQLに保存させて、PythonからSQLのそのレコードを取得する方法までは分かりました。
SQLには現在のJSONとひとつ前のJSONを記録させて、Pythonからはひとつ前のJSONのレコードを呼び出す方法も知りたいです。
https://pastebin.com/uTd6r2ex
放送局側のJSONには現在の曲情報と次回のJSONの更新時間(だいたい数秒〜数十秒後)がかかれてあります。
次の曲が始まる時間が書いてあればいいんですが書かれてないので、現在の時間と次回のJSONの更新時間の差分秒でループさせて次回のJSONを取得する事にしました。
(放送局のサイトにあるWebプレイヤーのjavascriptでは20秒間隔で取得しているようでした)
放送されている曲がそのままなら更新後のJSONの中の曲情報ももちろんそのままで、次回の更新時間のみ変更されています。
曲が変わっていないのに、ループの時間が来たらその度に出力されるので、その処理は無駄だと思いました。
JSONが更新されても曲がそのままなら変わらない情報(例えば曲名など)をキャッシュとしてオンメモリのSQLiteに保存して、そこが変わってなければ出力しないようにすればいいんじゃないかと思ったんですが、他にいい方法がありますか?
教えてください。
現在のJSONの特定の項目をSQLに保存させて、PythonからSQLのそのレコードを取得する方法までは分かりました。
SQLには現在のJSONとひとつ前のJSONを記録させて、Pythonからはひとつ前のJSONのレコードを呼び出す方法も知りたいです。
993デフォルトの名無しさん
2018/08/23(木) 17:04:52.52ID:+UveuQfQ 曲の類似度で機械学習させて判定結果表示するのかと思った
994デフォルトの名無しさん
2018/08/23(木) 17:08:21.97ID:6XYPzAmV memcached
995デフォルトの名無しさん
2018/08/23(木) 17:08:38.12ID:XM3jnZax >>993
オンエア情報の分析をやってみたいんですが、その前段階のデータ取得ですでに躓いてます…
オンエア情報の分析をやってみたいんですが、その前段階のデータ取得ですでに躓いてます…
996デフォルトの名無しさん
2018/08/23(木) 17:20:11.29ID:XM3jnZax997デフォルトの名無しさん
2018/08/23(木) 19:41:05.89ID:XM3jnZax998デフォルトの名無しさん
2018/08/23(木) 19:41:36.70ID:XM3jnZax >>997
失敗でした
失敗でした
999デフォルトの名無しさん
2018/08/23(木) 20:03:14.58ID:1ATD5kR7 男は失敗した分だけ性交に近づくんや諦めんな
1000デフォルトの名無しさん
2018/08/23(木) 20:09:02.07ID:UPShE46p 1000GET!
Pythonのスペシャリストになります♪
Pythonのスペシャリストになります♪
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 98日 8時間 59分 48秒
新しいスレッドを立ててください。
life time: 98日 8時間 59分 48秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★3 [Hitzeschleier★]
- かつや、明日からカツ丼(竹)790円→590円、ロースカツ定食830円→630円、カツカレー(竹)990円→790円 画像あり [お断り★]
- 【将棋】福間香奈 女流六冠が会見 妊娠・出産でタイトル戦の事実上不戦敗 「妊娠したら、どちらか一方を諦めないといけない状況」★2 [冬月記者★]
- タイがカンボジアを空爆、トランプ氏仲介の和平合意は“事実上崩壊”軍事衝突へ タイ首相「もはや対話の余地ない」 [お断り★]
- 【速報】 米国政府、中国が日本の自衛隊にレーダー照射を批判、同事案で中国を批判するのは初めて ★2 [お断り★]
- 空自機レーダー照射、音声データ公開 中国 ★5 [蚤の市★]
- 中国、日本人tiktokの収益剥奪開始wmwmwmwmwmwm [834922174]
- 防衛省「了解は言っていない」 [966095474]
- 小林よしのり「日本が中国を侵略したという史実すら知らない無知が多い。ネトウヨは教科書くらい読め」 [237216734]
- 【高市悲報】今の50代60代、異様にクズが多い理由👿wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [683137174]
- 【速報】共同通信スクープキタ━(゚∀゚)━!!「実際は日本の自衛隊機が中国機に対してレーダ照射ロックオンしていたことが発覚」 [339712612]
- マリン船長のラーメン、投げ売りされてしまう😭
